當前位置: 首頁>>代碼示例>>Java>>正文


Java NodeExistsException類代碼示例

本文整理匯總了Java中org.apache.zookeeper.KeeperException.NodeExistsException的典型用法代碼示例。如果您正苦於以下問題:Java NodeExistsException類的具體用法?Java NodeExistsException怎麽用?Java NodeExistsException使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


NodeExistsException類屬於org.apache.zookeeper.KeeperException包,在下文中一共展示了NodeExistsException類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: asyncSetOfflineInZooKeeper

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
/**
 * Set region as OFFLINED up in zookeeper asynchronously.
 * @param state
 * @return True if we succeeded, false otherwise (State was incorrect or failed
 * updating zk).
 */
private boolean asyncSetOfflineInZooKeeper(final RegionState state,
    final AsyncCallback.StringCallback cb, final ServerName destination) {
  if (!state.isClosed() && !state.isOffline()) {
    this.server.abort("Unexpected state trying to OFFLINE; " + state,
      new IllegalStateException());
    return false;
  }
  regionStates.updateRegionState(state.getRegion(), State.OFFLINE);
  try {
    ZKAssign.asyncCreateNodeOffline(watcher, state.getRegion(),
      destination, cb, state);
  } catch (KeeperException e) {
    if (e instanceof NodeExistsException) {
      LOG.warn("Node for " + state.getRegion() + " already exists");
    } else {
      server.abort("Unexpected ZK exception creating/setting node OFFLINE", e);
    }
    return false;
  }
  return true;
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:28,代碼來源:AssignmentManager.java

示例2: OpenRegion

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
private void OpenRegion(Server server, RegionServerServices rss,
    HTableDescriptor htd, HRegionInfo hri, OpenRegionCoordination coordination)
throws IOException, NodeExistsException, KeeperException, DeserializationException {
  // Create it OFFLINE node, which is what Master set before sending OPEN RPC
  ZKAssign.createNodeOffline(server.getZooKeeper(), hri, server.getServerName());

  OpenRegionCoordination.OpenRegionDetails ord =
    coordination.getDetailsForNonCoordinatedOpening();
  OpenRegionHandler openHandler =
    new OpenRegionHandler(server, rss, hri, htd, -1, coordination, ord);
  rss.getRegionsInTransitionInRS().put(hri.getEncodedNameAsBytes(), Boolean.TRUE);
  openHandler.process();
  // This parse is not used?
  RegionTransition.parseFrom(ZKAssign.getData(server.getZooKeeper(), hri.getEncodedName()));
  // delete the node, which is what Master do after the region is opened
  ZKAssign.deleteNode(server.getZooKeeper(), hri.getEncodedName(),
    EventType.RS_ZK_REGION_OPENED, server.getServerName());
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:19,代碼來源:TestCloseRegionHandler.java

示例3: createIfAbsent

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
public static String createIfAbsent(ZooKeeper zk, String path, byte[] data, CreateMode createMode, boolean gc)
        throws KeeperException, InterruptedException {
    String pathCreated = null;
    try {
        pathCreated = zk.create(path, data, Ids.OPEN_ACL_UNSAFE, createMode);
    } catch (NodeExistsException e) {
        // OK
        LOG.debug("Create skipped for existing znode: path={}", path);
    }
    // reset if what exists is the ephemeral garbage.
    if (gc && (pathCreated == null) && CreateMode.EPHEMERAL.equals(createMode)) {
        Stat stat = zk.exists(path, false);
        if (stat != null && zk.getSessionId() != stat.getEphemeralOwner()) {
            deleteIfExists(zk, path, -1);
            pathCreated = zk.create(path, data, Ids.OPEN_ACL_UNSAFE, createMode);
        }
    }
    return pathCreated;
}
 
開發者ID:apache,項目名稱:incubator-pulsar,代碼行數:20,代碼來源:LocalZooKeeperConnectionService.java

示例4: createEphemeralNode

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
private void createEphemeralNode(String fullPath, byte[] data) throws KeeperException, InterruptedException {
    try {
        zk.create(fullPath, data, Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
    } catch (NodeExistsException nee) {
        // this sometimes happens after a ZooKeeper node dies and the ephemeral node
        // that belonged to the old session was not yet deleted. We need to make our
        // session the owner of the node so it won't get deleted automatically -
        // we do this by deleting and recreating it ourselves.
        LOG.info("node for endpoint already exists, recreating: {}", fullPath);
        try {
            zk.delete(fullPath, -1);
        } catch (NoNodeException nne) {
            // it's a race condition, but as long as it got deleted - it's ok
        }
        zk.create(fullPath, data, Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
    }
}
 
開發者ID:apache,項目名稱:aries-rsa,代碼行數:18,代碼來源:PublishingEndpointListener.java

示例5: asyncSetOfflineInZooKeeper

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
/**
 * Set region as OFFLINED up in zookeeper asynchronously.
 * @param state
 * @return True if we succeeded, false otherwise (State was incorrect or failed
 * updating zk).
 */
boolean asyncSetOfflineInZooKeeper(final RegionState state,
    final AsyncCallback.StringCallback cb, final Object ctx) {
  if (!state.isClosed() && !state.isOffline()) {
      new RuntimeException("Unexpected state trying to OFFLINE; " + state);
    this.master.abort("Unexpected state trying to OFFLINE; " + state,
      new IllegalStateException());
    return false;
  }
  state.update(RegionState.State.OFFLINE);
  try {
    ZKAssign.asyncCreateNodeOffline(master.getZooKeeper(), state.getRegion(),
      this.master.getServerName(), cb, ctx);
  } catch (KeeperException e) {
    // TODO: this error handling will never execute, as the callback is async.
    if (e instanceof NodeExistsException) {
      LOG.warn("Node for " + state.getRegion() + " already exists");
    } else { 
      master.abort("Unexpected ZK exception creating/setting node OFFLINE", e);
    }
    return false;
  }
  return true;
}
 
開發者ID:fengchen8086,項目名稱:LCIndex-HBase-0.94.16,代碼行數:30,代碼來源:AssignmentManager.java

示例6: OpenRegion

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
private void OpenRegion(Server server, RegionServerServices rss,
      HTableDescriptor htd, HRegionInfo hri)
      throws IOException, NodeExistsException, KeeperException {
      // Create it OFFLINE node, which is what Master set before sending OPEN RPC


  ZKAssign.createNodeOffline(server.getZooKeeper(), hri, server.getServerName());
  int version = ZKAssign.transitionNodeOpening(server.getZooKeeper(), hri, server.getServerName());
  OpenRegionHandler openHandler = new OpenRegionHandler(server, rss, hri, htd, version);
  openHandler.process();
  RegionTransitionData data = ZKAssign.getData(server.getZooKeeper(), hri.getEncodedName());

  // delete the node, which is what Master do after the region is opened
  ZKAssign.deleteNode(server.getZooKeeper(), hri.getEncodedName(),
    EventType.RS_ZK_REGION_OPENED);
}
 
開發者ID:fengchen8086,項目名稱:LCIndex-HBase-0.94.16,代碼行數:17,代碼來源:TestCloseRegionHandler.java

示例7: OpenRegion

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
private void OpenRegion(Server server, RegionServerServices rss,
    HTableDescriptor htd, HRegionInfo hri, OpenRegionCoordination coordination)
throws IOException, NodeExistsException, KeeperException, DeserializationException {
  // Create it OFFLINE node, which is what Master set before sending OPEN RPC
  ZKAssign.createNodeOffline(server.getZooKeeper(), hri, server.getServerName());

  OpenRegionCoordination.OpenRegionDetails ord =
    coordination.getDetailsForNonCoordinatedOpening();
  OpenRegionHandler openHandler =
    new OpenRegionHandler(server, rss, hri, htd, coordination, ord);
  rss.getRegionsInTransitionInRS().put(hri.getEncodedNameAsBytes(), Boolean.TRUE);
  openHandler.process();
  // This parse is not used?
  RegionTransition.parseFrom(ZKAssign.getData(server.getZooKeeper(), hri.getEncodedName()));
  // delete the node, which is what Master do after the region is opened
  ZKAssign.deleteNode(server.getZooKeeper(), hri.getEncodedName(),
    EventType.RS_ZK_REGION_OPENED, server.getServerName());
}
 
開發者ID:grokcoder,項目名稱:pbase,代碼行數:19,代碼來源:TestCloseRegionHandler.java

示例8: createOrUpdatePath

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
protected void createOrUpdatePath(final String pPath, final byte[] pData) {

        //CuratorFramework namespacedClient = client.usingNamespace(NAMESPACE);
        String path = pPath;
        if (!StringUtils.startsWith(path, "/")) {
            path = "/" + path;
        }
        try {
            try {
                client.create().creatingParentsIfNeeded().forPath(path, pData);
            } catch (NodeExistsException nee) {
                client.setData().forPath(path, pData);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
開發者ID:gdespres,項目名稱:commons-configuration-zookeeper,代碼行數:18,代碼來源:ZKConfigurationTest.java

示例9: asyncSetOfflineInZooKeeper

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
/**
 * Set region as OFFLINED up in zookeeper asynchronously.
 * @param state
 * @return True if we succeeded, false otherwise (State was incorrect or failed
 * updating zk).
 */
private boolean asyncSetOfflineInZooKeeper(final RegionState state,
    final AsyncCallback.StringCallback cb, final ServerName destination) {
  if (!state.isClosed() && !state.isOffline()) {
    this.server.abort("Unexpected state trying to OFFLINE; " + state,
      new IllegalStateException());
    return false;
  }
  regionStates.updateRegionState(
    state.getRegion(), RegionState.State.OFFLINE);
  try {
    ZKAssign.asyncCreateNodeOffline(watcher, state.getRegion(),
      destination, cb, state);
  } catch (KeeperException e) {
    if (e instanceof NodeExistsException) {
      LOG.warn("Node for " + state.getRegion() + " already exists");
    } else {
      server.abort("Unexpected ZK exception creating/setting node OFFLINE", e);
    }
    return false;
  }
  return true;
}
 
開發者ID:daidong,項目名稱:DominoHBase,代碼行數:29,代碼來源:AssignmentManager.java

示例10: verifyZooKeeperStructure

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
private void verifyZooKeeperStructure(ZooKeeper zk) throws KeeperException, InterruptedException {
	if (LOGGER.isDebugEnabled()) {
		LOGGER.debug("Verifying ZooKeeper structure...");
	}

	for (String path : new String[] { rootNode, groupNode, dataNode }) {
		try {
			if (LOGGER.isDebugEnabled()) {
				LOGGER.debug("Ensuring {} exists", path);
			}
			if (zk.exists(path, true) == null) {
				if (LOGGER.isDebugEnabled()) {
					LOGGER.debug("{} doesn't exist, creating", path);
				}
				zk.create(path, null, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
			}
		} catch (NodeExistsException ex) {
			// do nothing
		}
	}
}
 
開發者ID:archibald2012,項目名稱:easyconfig,代碼行數:22,代碼來源:ZooKeeperConfigClient.java

示例11: createEphemeralNode

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
private void createEphemeralNode(long session, final DataTree dataTree,
        int count) throws NoNodeException, NodeExistsException {
    for (int i = 0; i < count; i++) {
        dataTree.createNode("/test" + i, new byte[0], null, session + i,
                dataTree.getNode("/").stat.getCversion() + 1, 1, 1);
    }
}
 
開發者ID:maoling,項目名稱:fuck_zookeeper,代碼行數:8,代碼來源:DataTreeTest.java

示例12: startInternal

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
private String startInternal(ClusteredTask clusteredTask, String taskId)
{
	ClusteredTaskWithArgs withArgs;
	if( clusteredTask.isTransient() )
	{
		String argsId = UUID.randomUUID().toString();
		Serializable[] args = clusteredTask.getArgs();
		taskArgs.put(argsId, args);
		withArgs = new ClusteredTaskWithArgs(clusteredTask, null, argsId, ourNodeId);
	}
	else
	{
		withArgs = new ClusteredTaskWithArgs(clusteredTask, clusteredTask.getArgs(), null, null);
	}
	byte[] taskBytes = PluginAwareObjectOutputStream.toBytes(withArgs);
	try
	{
		if( LOGGER.isTraceEnabled() )
		{
			LOGGER.trace("Serialized ClusteredTask size is " + taskBytes.length);
		}
		curator.create().creatingParentsIfNeeded().forPath(zookeeperService.getFullPath(ZK_TASKPATH, taskId),
			taskBytes);
	}
	catch( NodeExistsException nee )
	{
		LOGGER.debug("Task " + taskId + " already exists in ZK.");
	}
	catch( Exception e )
	{
		throw Throwables.propagate(e);
	}
	return taskId;
}
 
開發者ID:equella,項目名稱:Equella,代碼行數:35,代碼來源:ClusteredTaskServiceImpl.java

示例13: getGlobalTask

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
@Override
public GlobalTaskStartInfo getGlobalTask(ClusteredTask globalTask, long millis)
{
	if( !globalTask.isGlobal() )
		throw new Error("Isn't a global task");
	String globalId = globalTask.getGlobalId();
	String existingTaskId = getRunningGlobalTask(globalId);
	if( existingTaskId != null )
	{
		ensureGlobalTaskRunner(existingTaskId, globalTask);
		return new GlobalTaskStartInfo(existingTaskId, true);
	}
	String globalPath = zookeeperService.getFullPath(ZK_GLOBALTASKPATH, globalId);
	try
	{
		String taskId = UUID.randomUUID().toString();
		try
		{
			curator.create().creatingParentsIfNeeded().forPath(globalPath, taskId.getBytes());
			return new GlobalTaskStartInfo(startInternal(globalTask, taskId), false);
		}
		catch( NodeExistsException nee )
		{
			final String taskFromZk = new String(curator.getData().forPath(globalPath));
			//ensure there *is* a task for this
			ensureGlobalTaskRunner(taskFromZk, globalTask);
			return new GlobalTaskStartInfo(taskFromZk, false);
		}
	}
	catch( Exception e )
	{
		throw Throwables.propagate(e);
	}
}
 
開發者ID:equella,項目名稱:Equella,代碼行數:35,代碼來源:ClusteredTaskServiceImpl.java

示例14: createAndForceNodeToOpenedState

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
/**
 * Creates a znode with OPENED state.
 * @param TEST_UTIL
 * @param region
 * @param serverName
 * @return
 * @throws IOException
 * @throws org.apache.hadoop.hbase.ZooKeeperConnectionException
 * @throws KeeperException
 * @throws NodeExistsException
 */
public static ZooKeeperWatcher createAndForceNodeToOpenedState(
    HBaseTestingUtility TEST_UTIL, HRegion region,
    ServerName serverName) throws ZooKeeperConnectionException,
    IOException, KeeperException, NodeExistsException {
  ZooKeeperWatcher zkw = getZooKeeperWatcher(TEST_UTIL);
  ZKAssign.createNodeOffline(zkw, region.getRegionInfo(), serverName);
  int version = ZKAssign.transitionNodeOpening(zkw, region
      .getRegionInfo(), serverName);
  ZKAssign.transitionNodeOpened(zkw, region.getRegionInfo(), serverName,
      version);
  return zkw;
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:24,代碼來源:HBaseTestingUtility.java

示例15: stopMasterAndAssignMeta

import org.apache.zookeeper.KeeperException.NodeExistsException; //導入依賴的package包/類
public static void stopMasterAndAssignMeta(HBaseTestingUtility HTU)
    throws NodeExistsException, KeeperException, IOException, InterruptedException {
  // Stop master
  HMaster master = HTU.getHBaseCluster().getMaster();
  Thread masterThread = HTU.getHBaseCluster().getMasterThread();
  ServerName masterAddr = master.getServerName();
  master.stopMaster();

  LOG.info("Waiting until master thread exits");
  while (masterThread != null && masterThread.isAlive()) {
    Threads.sleep(100);
  }
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:14,代碼來源:TestRegionServerNoMaster.java


注:本文中的org.apache.zookeeper.KeeperException.NodeExistsException類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。