org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.getRecoverableZooKeeper()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(9.2k)|赞(0)|评价(0)|浏览(135)

本文整理了Java中org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.getRecoverableZooKeeper()方法的一些代码示例,展示了ZooKeeperWatcher.getRecoverableZooKeeper()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeperWatcher.getRecoverableZooKeeper()方法的具体详情如下:
包路径:org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher
类名称:ZooKeeperWatcher
方法名:getRecoverableZooKeeper

ZooKeeperWatcher.getRecoverableZooKeeper介绍

[英]Get the connection to ZooKeeper.
[中]接通动物园管理员。

代码示例

代码示例来源:origin: line/armeria

/**
   * Ensure Armeria's dependencies do not cause a trouble with hbase-shaded-client.
   *
   * @see <a href="https://issues.apache.org/jira/browse/HBASE-14963">HBASE-14963</a>
   */
  @Test(expected = NotAllMetaRegionsOnlineException.class)
  public void testGuavaConflict() throws Exception {
    // Make sure Armeria is available in the class path.
    assertThat(Version.identify(Server.class.getClassLoader())).isNotNull();
    // Make sure newer Guava is available in the class path.
    assertThat(Stopwatch.class.getDeclaredConstructor().getModifiers()).is(new Condition<>(
        value -> !Modifier.isPublic(value),
        "Recent Guava Stopwatch should have non-public default constructor."));

    final MetaTableLocator locator = new MetaTableLocator();
    final ZooKeeperWatcher zkw = mock(ZooKeeperWatcher.class);
    final RecoverableZooKeeper zk = mock(RecoverableZooKeeper.class);
    when(zkw.getRecoverableZooKeeper()).thenReturn(zk);
    when(zk.exists(any(), any())).thenReturn(new Stat(0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0));

    locator.waitMetaRegionLocation(zkw, 100);
  }
}

代码示例来源:origin: co.cask.hbase/hbase

private void tryGetDataSetWatch(String path) {
 // A negative retry count will lead to ignoring all error processing.
 this.watcher.getRecoverableZooKeeper().getZooKeeper().
   getData(path, this.watcher,
   new GetDataAsyncCallback(), new Long(-1) /* retry count */);
 tot_mgr_get_data_queued.incrementAndGet();
}

代码示例来源:origin: harbby/presto-connectors

@Override
public void checkTaskStillAvailable(String path) {
 // A negative retry count will lead to ignoring all error processing.
 this.watcher
   .getRecoverableZooKeeper()
   .getZooKeeper()
   .getData(path, this.watcher, new GetDataAsyncCallback(),
    Long.valueOf(-1) /* retry count */);
 SplitLogCounters.tot_mgr_get_data_queued.incrementAndGet();
}

代码示例来源:origin: co.cask.hbase/hbase

void getDataSetWatchAsync() {
 this.watcher.getRecoverableZooKeeper().getZooKeeper().
  getData(currentTask, this.watcher,
  new GetDataAsyncCallback(), null);
 tot_wkr_get_data_queued.incrementAndGet();
}

代码示例来源:origin: co.cask.hbase/hbase

private void getDataSetWatch(String path, Long retry_count) {
 this.watcher.getRecoverableZooKeeper().getZooKeeper().
   getData(path, this.watcher,
   new GetDataAsyncCallback(), retry_count);
 tot_mgr_get_data_queued.incrementAndGet();
}

代码示例来源:origin: harbby/presto-connectors

public void getDataSetWatchAsync() {
 watcher.getRecoverableZooKeeper().getZooKeeper()
   .getData(currentTask, watcher, new GetDataAsyncCallback(), null);
 SplitLogCounters.tot_wkr_get_data_queued.incrementAndGet();
}

代码示例来源:origin: harbby/presto-connectors

private void getDataSetWatch(String path, Long retry_count) {
 this.watcher.getRecoverableZooKeeper().getZooKeeper()
   .getData(path, this.watcher, new GetDataAsyncCallback(), retry_count);
 SplitLogCounters.tot_mgr_get_data_queued.incrementAndGet();
}

代码示例来源:origin: co.cask.hbase/hbase

void internalClose() {
 if (this.closed) {
  return;
 }
 master = null;
 this.servers.clear();
 if (this.rpcEngine != null) {
  this.rpcEngine.close();
 }
 if (this.zooKeeper != null) {
  LOG.info("Closed zookeeper sessionid=0x" +
   Long.toHexString(this.zooKeeper.getRecoverableZooKeeper().getSessionId()));
  this.zooKeeper.close();
  this.zooKeeper = null;
 }
 this.closed = true;
}

代码示例来源:origin: co.cask.hbase/hbase

private void deleteNode(String path, Long retries) {
 tot_mgr_node_delete_queued.incrementAndGet();
 // Once a task znode is ready for delete, that is it is in the TASK_DONE
 // state, then no one should be writing to it anymore. That is no one
 // will be updating the znode version any more.
 this.watcher.getRecoverableZooKeeper().getZooKeeper().
  delete(path, -1, new DeleteAsyncCallback(),
   retries);
}

代码示例来源:origin: harbby/presto-connectors

private void deleteNode(String path, Long retries) {
 SplitLogCounters.tot_mgr_node_delete_queued.incrementAndGet();
 // Once a task znode is ready for delete, that is it is in the TASK_DONE
 // state, then no one should be writing to it anymore. That is no one
 // will be updating the znode version any more.
 this.watcher.getRecoverableZooKeeper().getZooKeeper()
   .delete(path, -1, new DeleteAsyncCallback(), retries);
}

代码示例来源:origin: co.cask.hbase/hbase

/**
 * Delete the specified node with the specified version.  Sets no watches.
 * Throws all exceptions.
 */
public static boolean deleteNode(ZooKeeperWatcher zkw, String node,
  int version)
throws KeeperException {
 try {
  zkw.getRecoverableZooKeeper().delete(node, version);
  return true;
 } catch(KeeperException.BadVersionException bve) {
  return false;
 } catch(InterruptedException ie) {
  zkw.interruptedException(ie);
  return false;
 }
}

代码示例来源:origin: harbby/presto-connectors

/**
 * Delete the specified node with the specified version.  Sets no watches.
 * Throws all exceptions.
 */
public static boolean deleteNode(ZooKeeperWatcher zkw, String node,
  int version)
throws KeeperException {
 try {
  zkw.getRecoverableZooKeeper().delete(node, version);
  return true;
 } catch(KeeperException.BadVersionException bve) {
  return false;
 } catch(InterruptedException ie) {
  zkw.interruptedException(ie);
  return false;
 }
}

代码示例来源:origin: co.cask.hbase/hbase

@Override
 public void processResult(int rc, String path, Object ctx, String name) {
  if (rc != 0) {
  // This is resultcode.  If non-zero, need to resubmit.
   LOG.warn("rc != 0 for " + path + " -- retryable connectionloss -- " +
    "FIX see http://wiki.apache.org/hadoop/ZooKeeper/FAQ#A2");
   this.zkw.abort("Connectionloss writing unassigned at " + path +
    ", rc=" + rc, null);
   return;
  }
  LOG.debug("rs=" + (RegionState)ctx + ", server=" + this.destination.toString());
  // Async exists to set a watcher so we'll get triggered when
  // unassigned node changes.
  this.zkw.getRecoverableZooKeeper().getZooKeeper().exists(path, this.zkw,
   new ExistsUnassignedAsyncCallback(this.counter, destination), ctx);
 }
}

代码示例来源:origin: co.cask.hbase/hbase

@Override
 public void processResult(int rc, String path, Object ctx, byte[] data,
   Stat stat) {
  tot_wkr_get_data_result.incrementAndGet();
  if (rc != 0) {
   LOG.warn("getdata rc = " + KeeperException.Code.get(rc) + " " + path);
   getDataSetWatchFailure(path);
   return;
  }
  data = watcher.getRecoverableZooKeeper().removeMetaData(data);
  getDataSetWatchSuccess(path, data);
  return;
 }
}

代码示例来源:origin: co.cask.hbase/hbase

@Override
public void start(CoprocessorEnvironment e) throws IOException {
 RegionCoprocessorEnvironment re = (RegionCoprocessorEnvironment) e;
 if (!re.getSharedData().containsKey(zkkey)) {
  // there is a short race here
  // in the worst case we create a watcher that will be notified once
  re.getSharedData().putIfAbsent(
    zkkey,
    new ZKWatcher(re.getRegionServerServices().getZooKeeper()
      .getRecoverableZooKeeper().getZooKeeper()));
 }
}

代码示例来源:origin: harbby/presto-connectors

@Override
 public void processResult(int rc, String path, Object ctx, byte[] data, Stat stat) {
  SplitLogCounters.tot_wkr_get_data_result.incrementAndGet();
  if (rc != 0) {
   LOG.warn("getdata rc = " + KeeperException.Code.get(rc) + " " + path);
   getDataSetWatchFailure(path);
   return;
  }
  data = watcher.getRecoverableZooKeeper().removeMetaData(data);
  getDataSetWatchSuccess(path, data);
 }
}

代码示例来源:origin: harbby/presto-connectors

/**
 * signal the workers that a task was resubmitted by creating the RESCAN node.
 */
private void rescan(long retries) {
 // The RESCAN node will be deleted almost immediately by the
 // SplitLogManager as soon as it is created because it is being
 // created in the DONE state. This behavior prevents a buildup
 // of RESCAN nodes. But there is also a chance that a SplitLogWorker
 // might miss the watch-trigger that creation of RESCAN node provides.
 // Since the TimeoutMonitor will keep resubmitting UNASSIGNED tasks
 // therefore this behavior is safe.
 SplitLogTask slt = new SplitLogTask.Done(this.details.getServerName(), getRecoveryMode());
 this.watcher
   .getRecoverableZooKeeper()
   .getZooKeeper()
   .create(ZKSplitLog.getRescanNode(watcher), slt.toByteArray(), Ids.OPEN_ACL_UNSAFE,
    CreateMode.EPHEMERAL_SEQUENTIAL, new CreateRescanAsyncCallback(), Long.valueOf(retries));
}

代码示例来源:origin: co.cask.hbase/hbase

private static void deleteNodeFailSilent(ZooKeeperWatcher zkw,
  DeleteNodeFailSilent dnfs) throws KeeperException {
 DeleteRequest delete = (DeleteRequest)toZooKeeperOp(zkw, dnfs).toRequestRecord();
 try {
  zkw.getRecoverableZooKeeper().delete(delete.getPath(), delete.getVersion());
 } catch(KeeperException.NoNodeException nne) {
 } catch(InterruptedException ie) {
  zkw.interruptedException(ie);
 }
}

代码示例来源:origin: harbby/presto-connectors

private static void deleteNodeFailSilent(ZooKeeperWatcher zkw,
  DeleteNodeFailSilent dnfs) throws KeeperException {
 DeleteRequest delete = (DeleteRequest)toZooKeeperOp(zkw, dnfs).toRequestRecord();
 try {
  zkw.getRecoverableZooKeeper().delete(delete.getPath(), delete.getVersion());
 } catch(KeeperException.NoNodeException nne) {
 } catch(InterruptedException ie) {
  zkw.interruptedException(ie);
 }
}

代码示例来源:origin: harbby/presto-connectors

private static void resetAcls(final ZooKeeperWatcher zkw, final String znode,
  final boolean eraseAcls) throws Exception {
 List<String> children = ZKUtil.listChildrenNoWatch(zkw, znode);
 if (children != null) {
  for (String child: children) {
   resetAcls(zkw, ZKUtil.joinZNode(znode, child), eraseAcls);
  }
 }
 ZooKeeper zk = zkw.getRecoverableZooKeeper().getZooKeeper();
 if (eraseAcls) {
  LOG.info(" - erase ACLs for " + znode);
  zk.setACL(znode, ZooDefs.Ids.OPEN_ACL_UNSAFE, -1);
 } else {
  LOG.info(" - set ACLs for " + znode);
  zk.setACL(znode, ZKUtil.createACL(zkw, znode, true), -1);
 }
}

相关文章