public class ClusterState extends Object implements JSONWriter.Writable
ZkStateReader.getClusterState()
.Modifier and Type | Class and Description |
---|---|
static class |
ClusterState.CollectionRef |
Constructor and Description |
---|
ClusterState(Integer znodeVersion,
Set<String> liveNodes,
Map<String,DocCollection> collectionStates)
Use this constr when ClusterState is meant for consumption.
|
ClusterState(Set<String> liveNodes,
Map<String,ClusterState.CollectionRef> collectionStates,
Integer znodeVersion)
Use this if all the collection states are not readily available and some needs to be lazily loaded
|
Modifier and Type | Method and Description |
---|---|
ClusterState |
copyWith(String collectionName,
DocCollection collection)
Returns a new cluster state object modified with the given collection.
|
boolean |
equals(Object obj) |
void |
forEachCollection(Consumer<DocCollection> consumer)
Iterate over collections.
|
DocCollection |
getCollection(String collection)
Get the named DocCollection object, or throw an exception if it doesn't exist.
|
DocCollection |
getCollectionOrNull(String collectionName)
Returns the corresponding
DocCollection object for the given collection name
if such a collection exists. |
DocCollection |
getCollectionOrNull(String collectionName,
boolean allowCached)
Returns the corresponding
DocCollection object for the given collection name
if such a collection exists. |
ClusterState.CollectionRef |
getCollectionRef(String coll) |
Map<String,DocCollection> |
getCollectionsMap()
Get a map of collection name vs DocCollection objects
Implementation note: This method resolves the collection reference by calling
ClusterState.CollectionRef.get() which can make a call to ZooKeeper. |
Map<String,ClusterState.CollectionRef> |
getCollectionStates()
Be aware that this may return collections which may not exist now.
|
Set<String> |
getLiveNodes()
Get names of the currently live nodes.
|
String |
getShardId(String nodeName,
String coreName) |
String |
getShardId(String collectionName,
String nodeName,
String coreName) |
Integer |
getZkClusterStateVersion()
Deprecated.
true cluster state spans many ZK nodes, stop depending on the version number of the shared node!
will be removed in 8.0
|
int |
getZNodeVersion()
Returns the zNode version that was used to construct this instance.
|
boolean |
hasCollection(String collectionName)
Returns true if the specified collection name exists, false otherwise.
|
int |
hashCode() |
boolean |
liveNodesContain(String name)
Check if node is alive.
|
static ClusterState |
load(Integer version,
byte[] bytes,
Set<String> liveNodes) |
static ClusterState |
load(Integer version,
byte[] bytes,
Set<String> liveNodes,
String znode)
Create ClusterState from json string that is typically stored in zookeeper.
|
static ClusterState |
load(Integer version,
Map<String,Object> stateMap,
Set<String> liveNodes,
String znode) |
String |
toString() |
void |
write(JSONWriter jsonWriter) |
public ClusterState(Integer znodeVersion, Set<String> liveNodes, Map<String,DocCollection> collectionStates)
public ClusterState copyWith(String collectionName, DocCollection collection)
collectionName
- the name of the modified (or deleted) collectioncollection
- the collection object. A null value deletes the collection from the statepublic int getZNodeVersion()
public boolean hasCollection(String collectionName)
ClusterState.CollectionRef.get()
which can make a call to ZooKeeper. This is necessary
because the semantics of how collection list is loaded have changed in SOLR-6629.
Please see javadocs in ZkStateReader.refreshCollectionList(Watcher)
public DocCollection getCollection(String collection)
public ClusterState.CollectionRef getCollectionRef(String coll)
public DocCollection getCollectionOrNull(String collectionName)
DocCollection
object for the given collection name
if such a collection exists. Returns null otherwise. Equivalent to getCollectionOrNull(collectionName, false)public DocCollection getCollectionOrNull(String collectionName, boolean allowCached)
DocCollection
object for the given collection name
if such a collection exists. Returns null otherwise.collectionName
- Name of the collectionallowCached
- allow LazyCollectionRefs to use a time-based cached value
Implementation note: This method resolves the collection reference by calling
ClusterState.CollectionRef.get()
which may make a call to ZooKeeper. This is necessary
because the semantics of how collection list is loaded have changed in SOLR-6629.
Please see javadocs in ZkStateReader.refreshCollectionList(Watcher)
public Map<String,DocCollection> getCollectionsMap()
ClusterState.CollectionRef.get()
which can make a call to ZooKeeper. This is necessary
because the semantics of how collection list is loaded have changed in SOLR-6629.
Please see javadocs in ZkStateReader.refreshCollectionList(Watcher)
public boolean liveNodesContain(String name)
public static ClusterState load(Integer version, byte[] bytes, Set<String> liveNodes)
public static ClusterState load(Integer version, byte[] bytes, Set<String> liveNodes, String znode)
version
- zk version of the clusterstate.json file (bytes)bytes
- clusterstate.json as a byte arrayliveNodes
- list of live nodespublic static ClusterState load(Integer version, Map<String,Object> stateMap, Set<String> liveNodes, String znode)
public void write(JSONWriter jsonWriter)
write
in interface JSONWriter.Writable
@Deprecated public Integer getZkClusterStateVersion()
public Map<String,ClusterState.CollectionRef> getCollectionStates()
public void forEachCollection(Consumer<DocCollection> consumer)
getCollectionStates()
collections passed to the
consumer are guaranteed to exist.consumer
- collection consumer.Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.