## org.apache.solr.common.cloud
Class SolrZkClient

    java.lang.Object
      org.apache.solr.common.cloud.SolrZkClient

    public class SolrZkClient

extends Object

All Solr ZooKeeper interactions should go through this class rather than ZooKeeper. This class handles synchronous connects and reconnections.

Field Summary
`static AtomicLong` `numCloses`
`static AtomicLong` `numOpens`

Constructor Summary
`SolrZkClient(String zkServerAddress, int zkClientTimeout)`
`SolrZkClient(String zkServerAddress, int zkClientTimeout, int zkClientConnectTimeout, OnReconnect onReonnect)`
`SolrZkClient(String zkServerAddress, int zkClientTimeout, ZkClientConnectionStrategy strat, OnReconnect onReconnect)`
`SolrZkClient(String zkServerAddress, int zkClientTimeout, ZkClientConnectionStrategy strat, OnReconnect onReconnect, int clientConnectTimeout)`

Method Summary
`void` `clean(String path)`
`void` `close()`
`String` `create(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, boolean retryOnConnLoss)` Returns path of created node
`String` `create(String path, byte[] data, List<org.apache.zookeeper.data.ACL> acl, org.apache.zookeeper.CreateMode createMode, boolean retryOnConnLoss)` Returns path of created node
`void` `delete(String path, int version, boolean retryOnConnLoss)`
`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.
`String` `getBaseUrlForNodeName(String nodeName)` Returns the baseURL corrisponding to a given node's nodeName -- NOTE: does not (currently) imply that the nodeName (or resulting baseURL) exists in the cluster.
`List<String>` `getChildren(String path, org.apache.zookeeper.Watcher watcher, boolean retryOnConnLoss)` Returns children of the node at the path
`byte[]` `getData(String path, org.apache.zookeeper.Watcher watcher, org.apache.zookeeper.data.Stat stat, boolean retryOnConnLoss)` Returns node's data
`SolrZooKeeper` `getSolrZooKeeper()`
`ZkClientConnectionStrategy` `getZkClientConnectionStrategy()`
`int` `getZkClientTimeout()`
`boolean` `isClosed()`
`boolean` `isConnected()` Returns true if client is connected
`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, 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)`
`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` `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
`void` `setData(String path, File file, boolean retryOnConnLoss)` Write file to ZooKeeper - default system encoding used.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### numOpens

    public static final AtomicLong numOpens

### numCloses

    public static final AtomicLong numCloses

Constructor Detail

### SolrZkClient

    public SolrZkClient(String zkServerAddress,
                        int zkClientTimeout)

### SolrZkClient

    public SolrZkClient(String zkServerAddress,
                        int zkClientTimeout,
                        int zkClientConnectTimeout,
                        OnReconnect onReonnect)

### SolrZkClient

    public SolrZkClient(String zkServerAddress,
                        int zkClientTimeout,
                        ZkClientConnectionStrategy strat,
                        OnReconnect onReconnect)

### SolrZkClient

    public SolrZkClient(String zkServerAddress,
                        int zkClientTimeout,
                        ZkClientConnectionStrategy strat,
                        OnReconnect onReconnect,
                        int clientConnectTimeout)

Method Detail

### getZkClientTimeout

    public int getZkClientTimeout()

### getZkClientConnectionStrategy

    public ZkClientConnectionStrategy getZkClientConnectionStrategy()

### isConnected

    public boolean isConnected()

  Returns true if client is connected

### delete

    public void delete(String path,
                       int version,
                       boolean retryOnConnLoss)
                throws InterruptedException,
                       org.apache.zookeeper.KeeperException

  Throws:
    `InterruptedException`
    `org.apache.zookeeper.KeeperException`

### exists

    public org.apache.zookeeper.data.Stat exists(String path,
                                                 org.apache.zookeeper.Watcher watcher,
                                                 boolean retryOnConnLoss)
                                          throws org.apache.zookeeper.KeeperException,
                                                 InterruptedException

  Return the stat of the node of the given path. Return null if no such a node exists.

  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.

  Parameters:
    `path` - the node path
    `watcher` - explicit watcher
  Returns:
    the stat of the node of the given path; return null if no such a node exists.
  Throws:
    `org.apache.zookeeper.KeeperException` - If the server signals an error
    `InterruptedException` - If the server transaction is interrupted.
    `IllegalArgumentException` - if an invalid path is specified

### exists

    public Boolean exists(String path,
                          boolean retryOnConnLoss)
                   throws org.apache.zookeeper.KeeperException,
                          InterruptedException

  Returns true if path exists

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### create

    public String create(String path,
                         byte[] data,
                         List<org.apache.zookeeper.data.ACL> acl,
                         org.apache.zookeeper.CreateMode createMode,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Returns path of created node

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### getChildren

    public List<String> getChildren(String path,
                                    org.apache.zookeeper.Watcher watcher,
                                    boolean retryOnConnLoss)
                             throws org.apache.zookeeper.KeeperException,
                                    InterruptedException

  Returns children of the node at the path

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### getData

    public byte[] getData(String path,
                          org.apache.zookeeper.Watcher watcher,
                          org.apache.zookeeper.data.Stat stat,
                          boolean retryOnConnLoss)
                   throws org.apache.zookeeper.KeeperException,
                          InterruptedException

  Returns node's data

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### setData

    public org.apache.zookeeper.data.Stat setData(String path,
                                                  byte[] data,
                                                  int version,
                                                  boolean retryOnConnLoss)
                                           throws org.apache.zookeeper.KeeperException,
                                                  InterruptedException

  Returns node's state

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### create

    public String create(String path,
                         byte[] data,
                         org.apache.zookeeper.CreateMode createMode,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Returns path of created node

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String path,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Creates the path in ZooKeeper, creating each node as necessary. e.g. If `path=/solr/group/node` and none of the nodes, solr, group, node exist, each will be created.

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String path,
                         boolean failOnExists,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String path,
                         File file,
                         boolean failOnExists,
                         boolean retryOnConnLoss)
                  throws IOException,
                         org.apache.zookeeper.KeeperException,
                         InterruptedException

  Throws:
    `IOException`
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String path,
                         File file,
                         boolean retryOnConnLoss)
                  throws IOException,
                         org.apache.zookeeper.KeeperException,
                         InterruptedException

  Throws:
    `IOException`
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String path,
                         org.apache.zookeeper.CreateMode createMode,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String path,
                         byte[] data,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Creates the path in ZooKeeper, creating each node as necessary.

  Parameters:
    `data` - to set on the last zkNode
  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String path,
                         byte[] data,
                         org.apache.zookeeper.CreateMode createMode,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Creates the path in ZooKeeper, creating each node as necessary. e.g. If `path=/solr/group/node` and none of the nodes, solr, group, node exist, each will be created.

  Parameters:
    `data` - to set on the last zkNode
  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    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

  Creates the path in ZooKeeper, creating each node as necessary. e.g. If `path=/solr/group/node` and none of the nodes, solr, group, node exist, each will be created.

  Parameters:
    `data` - to set on the last zkNode
  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    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

  Creates the path in ZooKeeper, creating each node as necessary. e.g. If `path=/solr/group/node` and none of the nodes, solr, group, node exist, each will be created. Note: retryOnConnLoss is only respected for the final node - nodes before that are always retried on connection loss.

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### makePath

    public void makePath(String zkPath,
                         org.apache.zookeeper.CreateMode createMode,
                         org.apache.zookeeper.Watcher watcher,
                         boolean retryOnConnLoss)
                  throws org.apache.zookeeper.KeeperException,
                         InterruptedException

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### setData

    public void setData(String path,
                        byte[] data,
                        boolean retryOnConnLoss)
                 throws org.apache.zookeeper.KeeperException,
                        InterruptedException

  Write data to ZooKeeper.

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### setData

    public void setData(String path,
                        File file,
                        boolean retryOnConnLoss)
                 throws IOException,
                        org.apache.zookeeper.KeeperException,
                        InterruptedException

  Write file to ZooKeeper - default system encoding used.

  Parameters:
    `path` - path to upload file to e.g. /solr/conf/solrconfig.xml
    `file` - path to file to be uploaded
  Throws:
    `IOException`
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### getBaseUrlForNodeName

    public String getBaseUrlForNodeName(String nodeName)

  Returns the baseURL corrisponding to a given node's nodeName -- NOTE: does not (currently) imply that the nodeName (or resulting baseURL) exists in the cluster.

  WARNING: This API is experimental and might change in incompatible ways in the next release.

### printLayout

    public void printLayout(String path,
                            int indent,
                            StringBuilder string)
                     throws org.apache.zookeeper.KeeperException,
                            InterruptedException

  Fills string with printout of current ZooKeeper layout.

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### printLayoutToStdOut

    public void printLayoutToStdOut()
                             throws org.apache.zookeeper.KeeperException,
                                    InterruptedException

  Prints current ZooKeeper layout to stdout.

  Throws:
    `org.apache.zookeeper.KeeperException`
    `InterruptedException`

### prettyPrint

    public static String prettyPrint(String input,
                                     int indent)

### close

    public void close()

### isClosed

    public boolean isClosed()

### getSolrZooKeeper

    public SolrZooKeeper getSolrZooKeeper()

### clean

    public void clean(String path)
               throws InterruptedException,
                      org.apache.zookeeper.KeeperException

  Throws:
    `InterruptedException`
    `org.apache.zookeeper.KeeperException`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.