Package org.apache.solr.common.cloud
Class ZkCmdExecutor
- java.lang.Object
-
- org.apache.solr.common.cloud.ZkCmdExecutor
-
public class ZkCmdExecutor extends Object
-
-
Constructor Summary
Constructors Constructor Description ZkCmdExecutor(int timeoutms)ZkCmdExecutor(int timeoutms, ConnectionManager.IsClosed isClosed)TODO: At this point, this should probably take a SolrZkClient in its constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidensureExists(String path, byte[] data, SolrZkClient zkClient)Create a persistent znode with the given data if it does not already existvoidensureExists(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, SolrZkClient zkClient)Create a znode with the given mode and data if it does not already existvoidensureExists(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, SolrZkClient zkClient, int skipPathParts)Create a node if it does not existvoidensureExists(String path, SolrZkClient zkClient)Create a persistent znode with no data if it does not already existlonggetRetryDelay()protected voidretryDelay(int attemptCount)Performs a retry delay if this is not the first attempt<T> TretryOperation(ZkOperation<T> operation)Perform the given operation, retrying if the connection failsvoidsetRetryDelay(long retryDelay)
-
-
-
Constructor Detail
-
ZkCmdExecutor
public ZkCmdExecutor(int timeoutms)
-
ZkCmdExecutor
public ZkCmdExecutor(int timeoutms, ConnectionManager.IsClosed isClosed)TODO: At this point, this should probably take a SolrZkClient in its constructor.- Parameters:
timeoutms- the client timeout for the ZooKeeper clients that will be used with this class.
-
-
Method Detail
-
getRetryDelay
public long getRetryDelay()
-
setRetryDelay
public void setRetryDelay(long retryDelay)
-
retryOperation
public <T> T retryOperation(ZkOperation<T> operation) throws org.apache.zookeeper.KeeperException, InterruptedException
Perform the given operation, retrying if the connection fails- Throws:
org.apache.zookeeper.KeeperExceptionInterruptedException
-
ensureExists
public void ensureExists(String path, SolrZkClient zkClient) throws org.apache.zookeeper.KeeperException, InterruptedException
Create a persistent znode with no data if it does not already exist- Throws:
org.apache.zookeeper.KeeperExceptionInterruptedException- See Also:
ensureExists(String, byte[], CreateMode, SolrZkClient, int)
-
ensureExists
public void ensureExists(String path, byte[] data, SolrZkClient zkClient) throws org.apache.zookeeper.KeeperException, InterruptedException
Create a persistent znode with the given data if it does not already exist- Throws:
org.apache.zookeeper.KeeperExceptionInterruptedException- See Also:
ensureExists(String, byte[], CreateMode, SolrZkClient, int)
-
ensureExists
public void ensureExists(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, SolrZkClient zkClient) throws org.apache.zookeeper.KeeperException, InterruptedException
Create a znode with the given mode and data if it does not already exist- Throws:
org.apache.zookeeper.KeeperExceptionInterruptedException- See Also:
ensureExists(String, byte[], CreateMode, SolrZkClient, int)
-
ensureExists
public void ensureExists(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, SolrZkClient zkClient, int skipPathParts) throws org.apache.zookeeper.KeeperException, InterruptedException
Create a node if it does not exist- Parameters:
path- the path at which to create the znodedata- the optional data to set on the znodecreateMode- the mode with which to create the znodezkClient- the client to use to check and createskipPathParts- how many path elements to skip- Throws:
org.apache.zookeeper.KeeperExceptionInterruptedException
-
retryDelay
protected void retryDelay(int attemptCount) throws InterruptedExceptionPerforms a retry delay if this is not the first attempt- Parameters:
attemptCount- the number of the attempts performed so far- Throws:
InterruptedException
-
-