public class SolrZkClient extends Object implements Closeable
Modifier and Type | Field and Description |
---|---|
static String |
ZK_ACL_PROVIDER_CLASS_NAME_VM_PARAM_NAME |
static String |
ZK_CRED_PROVIDER_CLASS_NAME_VM_PARAM_NAME |
Constructor and Description |
---|
SolrZkClient() |
SolrZkClient(String zkServerAddress,
int zkClientTimeout) |
SolrZkClient(String zkServerAddress,
int zkClientTimeout,
int zkClientConnectTimeout) |
SolrZkClient(String zkServerAddress,
int zkClientTimeout,
int zkClientConnectTimeout,
OnReconnect onReonnect) |
SolrZkClient(String zkServerAddress,
int zkClientTimeout,
int clientConnectTimeout,
ZkClientConnectionStrategy strat,
OnReconnect onReconnect) |
SolrZkClient(String zkServerAddress,
int zkClientTimeout,
int clientConnectTimeout,
ZkClientConnectionStrategy strat,
OnReconnect onReconnect,
BeforeReconnect beforeReconnect) |
SolrZkClient(String zkServerAddress,
int zkClientTimeout,
int clientConnectTimeout,
ZkClientConnectionStrategy strat,
OnReconnect onReconnect,
BeforeReconnect beforeReconnect,
ZkACLProvider zkACLProvider,
ConnectionManager.IsClosed higherLevelIsClosed) |
SolrZkClient(String zkServerAddress,
int zkClientTimeout,
ZkClientConnectionStrategy strat,
OnReconnect onReconnect) |
Modifier and Type | Method and Description |
---|---|
void |
atomicUpdate(String path,
BiFunction<org.apache.zookeeper.data.Stat,byte[],byte[]> editor) |
void |
atomicUpdate(String path,
Function<byte[],byte[]> editor) |
static Throwable |
checkInterrupted(Throwable e)
Check to see if a Throwable is an InterruptedException, and if it is, set the thread interrupt flag
|
void |
clean(String path) |
void |
clean(String path,
Predicate<String> nodeFilter) |
void |
close() |
static boolean |
containsChroot(String zkHost)
Validates if zkHost contains a chroot.
|
String |
create(String path,
byte[] data,
org.apache.zookeeper.CreateMode createMode,
boolean retryOnConnLoss)
Returns path of created node
|
protected ZkACLProvider |
createZkACLProvider() |
protected ZkCredentialsProvider |
createZkCredentialsToAddAutomatically() |
void |
delete(String path,
int version,
boolean retryOnConnLoss) |
void |
downConfig(String confName,
Path confPath) |
void |
downloadFromZK(String zkPath,
Path dir) |
Boolean |
exists(String path,
boolean retryOnConnLoss)
Returns true if path exists
|
org.apache.zookeeper.data.Stat |
exists(String path,
org.apache.zookeeper.Watcher watcher,
boolean retryOnConnLoss)
Return the stat of the node of the given path.
|
List<String> |
getChildren(String path,
org.apache.zookeeper.Watcher watcher,
boolean retryOnConnLoss)
Returns children of the node at the path
|
String |
getConfig()
Gets the raw config node /zookeeper/config as returned by server.
|
ConnectionManager |
getConnectionManager() |
byte[] |
getData(String path,
org.apache.zookeeper.Watcher watcher,
org.apache.zookeeper.data.Stat stat,
boolean retryOnConnLoss)
Returns node's data
|
SolrZooKeeper |
getSolrZooKeeper() |
ZkACLProvider |
getZkACLProvider() |
ZkClientConnectionStrategy |
getZkClientConnectionStrategy() |
int |
getZkClientTimeout() |
String |
getZkServerAddress() |
boolean |
isClosed() |
boolean |
isConnected()
Returns true if client is connected
|
String |
listZnode(String path,
Boolean recurse) |
void |
makePath(String path,
boolean retryOnConnLoss)
Creates the path in ZooKeeper, creating each node as necessary.
|
void |
makePath(String path,
boolean failOnExists,
boolean retryOnConnLoss) |
void |
makePath(String path,
byte[] data,
boolean retryOnConnLoss)
Creates the path in ZooKeeper, creating each node as necessary.
|
void |
makePath(String path,
byte[] data,
org.apache.zookeeper.CreateMode createMode,
boolean retryOnConnLoss)
Creates the path in ZooKeeper, creating each node as necessary.
|
void |
makePath(String path,
byte[] data,
org.apache.zookeeper.CreateMode createMode,
org.apache.zookeeper.Watcher watcher,
boolean retryOnConnLoss)
Creates the path in ZooKeeper, creating each node as necessary.
|
void |
makePath(String path,
byte[] data,
org.apache.zookeeper.CreateMode createMode,
org.apache.zookeeper.Watcher watcher,
boolean failOnExists,
boolean retryOnConnLoss)
Creates the path in ZooKeeper, creating each node as necessary.
|
void |
makePath(String path,
byte[] data,
org.apache.zookeeper.CreateMode createMode,
org.apache.zookeeper.Watcher watcher,
boolean failOnExists,
boolean retryOnConnLoss,
int skipPathParts)
Creates the path in ZooKeeper, creating each node as necessary.
|
void |
makePath(String path,
org.apache.zookeeper.CreateMode createMode,
boolean retryOnConnLoss) |
void |
makePath(String zkPath,
org.apache.zookeeper.CreateMode createMode,
org.apache.zookeeper.Watcher watcher,
boolean retryOnConnLoss) |
void |
makePath(String path,
File file,
boolean retryOnConnLoss) |
void |
makePath(String path,
File file,
boolean failOnExists,
boolean retryOnConnLoss) |
void |
moveZnode(String src,
String dst) |
List<org.apache.zookeeper.OpResult> |
multi(Iterable<org.apache.zookeeper.Op> ops,
boolean retryOnConnLoss) |
static String |
prettyPrint(String input,
int indent) |
void |
printLayout(String path,
int indent,
StringBuilder string)
Fills string with printout of current ZooKeeper layout.
|
void |
printLayoutToStdOut()
Prints current ZooKeeper layout to stdout.
|
void |
printLayoutToStream(PrintStream out) |
org.apache.zookeeper.data.Stat |
setACL(String path,
List<org.apache.zookeeper.data.ACL> acls,
boolean retryOnConnLoss)
Set the ACL on a single node in ZooKeeper.
|
org.apache.zookeeper.data.Stat |
setData(String path,
byte[] data,
boolean retryOnConnLoss)
Write data to ZooKeeper.
|
org.apache.zookeeper.data.Stat |
setData(String path,
byte[] data,
int version,
boolean retryOnConnLoss)
Returns node's state
|
org.apache.zookeeper.data.Stat |
setData(String path,
File file,
boolean retryOnConnLoss)
Write file to ZooKeeper - default system encoding used.
|
void |
upConfig(Path confPath,
String confName) |
void |
updateACLs(String root)
Update all ACLs for a zk tree based on our configured
ZkACLProvider . |
void |
uploadToZK(Path rootPath,
String zkPath,
Pattern filenameExclusions) |
org.apache.zookeeper.Watcher |
wrapWatcher(org.apache.zookeeper.Watcher watcher)
Wraps the watcher so that it doesn't fire off ZK's event queue.
|
void |
zkTransfer(String src,
Boolean srcIsZk,
String dst,
Boolean dstIsZk,
Boolean recurse) |
public static final String ZK_CRED_PROVIDER_CLASS_NAME_VM_PARAM_NAME
public static final String ZK_ACL_PROVIDER_CLASS_NAME_VM_PARAM_NAME
public SolrZkClient()
public SolrZkClient(String zkServerAddress, int zkClientTimeout)
public SolrZkClient(String zkServerAddress, int zkClientTimeout, int zkClientConnectTimeout)
public SolrZkClient(String zkServerAddress, int zkClientTimeout, int zkClientConnectTimeout, OnReconnect onReonnect)
public SolrZkClient(String zkServerAddress, int zkClientTimeout, ZkClientConnectionStrategy strat, OnReconnect onReconnect)
public SolrZkClient(String zkServerAddress, int zkClientTimeout, int clientConnectTimeout, ZkClientConnectionStrategy strat, OnReconnect onReconnect)
public SolrZkClient(String zkServerAddress, int zkClientTimeout, int clientConnectTimeout, ZkClientConnectionStrategy strat, OnReconnect onReconnect, BeforeReconnect beforeReconnect)
public SolrZkClient(String zkServerAddress, int zkClientTimeout, int clientConnectTimeout, ZkClientConnectionStrategy strat, OnReconnect onReconnect, BeforeReconnect beforeReconnect, ZkACLProvider zkACLProvider, ConnectionManager.IsClosed higherLevelIsClosed)
public int getZkClientTimeout()
public ConnectionManager getConnectionManager()
public ZkClientConnectionStrategy getZkClientConnectionStrategy()
protected ZkCredentialsProvider createZkCredentialsToAddAutomatically()
protected ZkACLProvider createZkACLProvider()
public boolean isConnected()
public void delete(String path, int version, boolean retryOnConnLoss) throws InterruptedException, org.apache.zookeeper.KeeperException
InterruptedException
org.apache.zookeeper.KeeperException
public org.apache.zookeeper.Watcher wrapWatcher(org.apache.zookeeper.Watcher watcher)
exists(String, org.apache.zookeeper.Watcher, boolean)
or
getData(String, org.apache.zookeeper.Watcher, org.apache.zookeeper.data.Stat, boolean)
.public org.apache.zookeeper.data.Stat exists(String path, org.apache.zookeeper.Watcher watcher, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
If the watch is non-null and the call is successful (no exception is thrown), a watch will be left on the node with the given path. The watch will be triggered by a successful operation that creates/delete the node or sets the data on the node.
path
- the node pathwatcher
- explicit watcherorg.apache.zookeeper.KeeperException
- If the server signals an errorInterruptedException
- If the server transaction is interrupted.IllegalArgumentException
- if an invalid path is specifiedpublic Boolean exists(String path, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public List<String> getChildren(String path, org.apache.zookeeper.Watcher watcher, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public byte[] getData(String path, org.apache.zookeeper.Watcher watcher, org.apache.zookeeper.data.Stat stat, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public org.apache.zookeeper.data.Stat setData(String path, byte[] data, int version, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void atomicUpdate(String path, Function<byte[],byte[]> editor) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void atomicUpdate(String path, BiFunction<org.apache.zookeeper.data.Stat,byte[],byte[]> editor) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public String create(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
path=/solr/group/node
and none of the nodes, solr,
group, node exist, each will be created.org.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, boolean failOnExists, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, File file, boolean failOnExists, boolean retryOnConnLoss) throws IOException, org.apache.zookeeper.KeeperException, InterruptedException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, File file, boolean retryOnConnLoss) throws IOException, org.apache.zookeeper.KeeperException, InterruptedException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, org.apache.zookeeper.CreateMode createMode, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, byte[] data, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
data
- to set on the last zkNodeorg.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
path=/solr/group/node
and none of the nodes, solr,
group, node exist, each will be created.data
- to set on the last zkNodeorg.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, org.apache.zookeeper.Watcher watcher, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
path=/solr/group/node
and none of the nodes, solr,
group, node exist, each will be created.data
- to set on the last zkNodeorg.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, org.apache.zookeeper.Watcher watcher, boolean failOnExists, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
path=/solr/group/node
and none of the nodes, solr,
group, node exist, each will be created.data
- to set on the last zkNodeorg.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, org.apache.zookeeper.Watcher watcher, boolean failOnExists, boolean retryOnConnLoss, int skipPathParts) throws org.apache.zookeeper.KeeperException, InterruptedException
path=/solr/group/node
and none of the nodes, solr,
group, node exist, each will be created.
skipPathParts will force the call to fail if the first skipPathParts do not exist already.
Note: retryOnConnLoss is only respected for the final node - nodes
before that are always retried on connection loss.org.apache.zookeeper.KeeperException
InterruptedException
public void makePath(String zkPath, org.apache.zookeeper.CreateMode createMode, org.apache.zookeeper.Watcher watcher, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public org.apache.zookeeper.data.Stat setData(String path, byte[] data, boolean retryOnConnLoss) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public org.apache.zookeeper.data.Stat setData(String path, File file, boolean retryOnConnLoss) throws IOException, org.apache.zookeeper.KeeperException, InterruptedException
path
- path to upload file to e.g. /solr/conf/solrconfig.xmlfile
- path to file to be uploadedIOException
org.apache.zookeeper.KeeperException
InterruptedException
public List<org.apache.zookeeper.OpResult> multi(Iterable<org.apache.zookeeper.Op> ops, boolean retryOnConnLoss) throws InterruptedException, org.apache.zookeeper.KeeperException
InterruptedException
org.apache.zookeeper.KeeperException
public void printLayout(String path, int indent, StringBuilder string) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void printLayoutToStdOut() throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void printLayoutToStream(PrintStream out) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperException
InterruptedException
public void close()
close
in interface Closeable
close
in interface AutoCloseable
public boolean isClosed()
public SolrZooKeeper getSolrZooKeeper()
public static boolean containsChroot(String zkHost)
public static Throwable checkInterrupted(Throwable e)
e
- the Throwablepublic String getZkServerAddress()
public String getConfig()
server.1=localhost:2780:2783:participant;localhost:2791 server.2=localhost:2781:2784:participant;localhost:2792 server.3=localhost:2782:2785:participant;localhost:2793 version=400000003
public ZkACLProvider getZkACLProvider()
public org.apache.zookeeper.data.Stat setACL(String path, List<org.apache.zookeeper.data.ACL> acls, boolean retryOnConnLoss) throws InterruptedException, org.apache.zookeeper.KeeperException
path
- path to set ACL on e.g. /solr/conf/solrconfig.xmlacls
- a list of ACL
s to be appliedretryOnConnLoss
- true if the command should be retried on connection lossInterruptedException
org.apache.zookeeper.KeeperException
public void updateACLs(String root) throws org.apache.zookeeper.KeeperException, InterruptedException
ZkACLProvider
.root
- the root node to recursively updateorg.apache.zookeeper.KeeperException
InterruptedException
public void clean(String path) throws InterruptedException, org.apache.zookeeper.KeeperException
InterruptedException
org.apache.zookeeper.KeeperException
public void clean(String path, Predicate<String> nodeFilter) throws InterruptedException, org.apache.zookeeper.KeeperException
InterruptedException
org.apache.zookeeper.KeeperException
public void upConfig(Path confPath, String confName) throws IOException
IOException
public String listZnode(String path, Boolean recurse) throws org.apache.zookeeper.KeeperException, InterruptedException, SolrServerException
org.apache.zookeeper.KeeperException
InterruptedException
SolrServerException
public void downConfig(String confName, Path confPath) throws IOException
IOException
public void zkTransfer(String src, Boolean srcIsZk, String dst, Boolean dstIsZk, Boolean recurse) throws SolrServerException, org.apache.zookeeper.KeeperException, InterruptedException, IOException
SolrServerException
org.apache.zookeeper.KeeperException
InterruptedException
IOException
public void moveZnode(String src, String dst) throws SolrServerException, org.apache.zookeeper.KeeperException, InterruptedException
SolrServerException
org.apache.zookeeper.KeeperException
InterruptedException
public void uploadToZK(Path rootPath, String zkPath, Pattern filenameExclusions) throws IOException
IOException
public void downloadFromZK(String zkPath, Path dir) throws IOException
IOException
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.