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 void
ensureExists(String path, byte[] data, SolrZkClient zkClient)
Create a persistent znode with the given data if it does not already existvoid
ensureExists(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 existvoid
ensureExists(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, SolrZkClient zkClient, int skipPathParts)
Create a node if it does not existvoid
ensureExists(String path, SolrZkClient zkClient)
Create a persistent znode with no data if it does not already existlong
getRetryDelay()
protected void
retryDelay(int attemptCount)
Performs a retry delay if this is not the first attempt<T> T
retryOperation(ZkOperation<T> operation)
Perform the given operation, retrying if the connection failsvoid
setRetryDelay(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.KeeperException
InterruptedException
-
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.KeeperException
InterruptedException
- 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.KeeperException
InterruptedException
- 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.KeeperException
InterruptedException
- 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.KeeperException
InterruptedException
-
retryDelay
protected void retryDelay(int attemptCount) throws InterruptedException
Performs a retry delay if this is not the first attempt- Parameters:
attemptCount
- the number of the attempts performed so far- Throws:
InterruptedException
-
-