Class ZkDistribStateManager
- java.lang.Object
-
- org.apache.solr.client.solrj.impl.ZkDistribStateManager
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,DistribStateManager
,SolrCloseable
public class ZkDistribStateManager extends Object implements DistribStateManager
Implementation ofDistribStateManager
that uses Zookeeper.
-
-
Constructor Summary
Constructors Constructor Description ZkDistribStateManager(SolrZkClient zkClient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
String
createData(String path, byte[] data, org.apache.zookeeper.CreateMode mode)
Create data (leaf) node at specified path.AutoScalingConfig
getAutoScalingConfig(org.apache.zookeeper.Watcher watcher)
VersionedData
getData(String path, org.apache.zookeeper.Watcher watcher)
SolrZkClient
getZkClient()
boolean
hasData(String path)
List<String>
listData(String path)
List<String>
listData(String path, org.apache.zookeeper.Watcher watcher)
void
makePath(String path)
void
makePath(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, boolean failOnExists)
List<org.apache.zookeeper.OpResult>
multi(Iterable<org.apache.zookeeper.Op> ops)
void
removeData(String path, int version)
void
setData(String path, byte[] data, int version)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.client.solrj.cloud.DistribStateManager
getAutoScalingConfig, getData, listTree, removeRecursively
-
Methods inherited from interface org.apache.solr.common.SolrCloseable
isClosed
-
-
-
-
Constructor Detail
-
ZkDistribStateManager
public ZkDistribStateManager(SolrZkClient zkClient)
-
-
Method Detail
-
hasData
public boolean hasData(String path) throws IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
hasData
in interfaceDistribStateManager
- Throws:
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
listData
public List<String> listData(String path, org.apache.zookeeper.Watcher watcher) throws NoSuchElementException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
listData
in interfaceDistribStateManager
- Throws:
NoSuchElementException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
listData
public List<String> listData(String path) throws NoSuchElementException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
listData
in interfaceDistribStateManager
- Throws:
NoSuchElementException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
getData
public VersionedData getData(String path, org.apache.zookeeper.Watcher watcher) throws NoSuchElementException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
getData
in interfaceDistribStateManager
- Throws:
NoSuchElementException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
makePath
public void makePath(String path) throws AlreadyExistsException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
makePath
in interfaceDistribStateManager
- Throws:
AlreadyExistsException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
makePath
public void makePath(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, boolean failOnExists) throws AlreadyExistsException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
makePath
in interfaceDistribStateManager
- Throws:
AlreadyExistsException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
createData
public String createData(String path, byte[] data, org.apache.zookeeper.CreateMode mode) throws NoSuchElementException, AlreadyExistsException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
Description copied from interface:DistribStateManager
Create data (leaf) node at specified path.- Specified by:
createData
in interfaceDistribStateManager
- Parameters:
path
- base path name of the node.data
- data to be stored.mode
- creation mode.- Returns:
- actual path of the node - in case of sequential nodes this will differ from the base path because of the appended sequence number.
- Throws:
NoSuchElementException
AlreadyExistsException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
removeData
public void removeData(String path, int version) throws NoSuchElementException, BadVersionException, NotEmptyException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
removeData
in interfaceDistribStateManager
- Throws:
NoSuchElementException
BadVersionException
NotEmptyException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
setData
public void setData(String path, byte[] data, int version) throws BadVersionException, NoSuchElementException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
setData
in interfaceDistribStateManager
- Throws:
BadVersionException
NoSuchElementException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
multi
public List<org.apache.zookeeper.OpResult> multi(Iterable<org.apache.zookeeper.Op> ops) throws BadVersionException, AlreadyExistsException, NoSuchElementException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
- Specified by:
multi
in interfaceDistribStateManager
- Throws:
BadVersionException
AlreadyExistsException
NoSuchElementException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
-
getAutoScalingConfig
public AutoScalingConfig getAutoScalingConfig(org.apache.zookeeper.Watcher watcher) throws InterruptedException, IOException
- Specified by:
getAutoScalingConfig
in interfaceDistribStateManager
- Throws:
InterruptedException
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getZkClient
public SolrZkClient getZkClient()
-
-