Package org.apache.solr.common.cloud
Class DocCollection
- java.lang.Object
- 
- org.apache.solr.common.cloud.ZkNodeProps
- 
- org.apache.solr.common.cloud.DocCollection
 
 
- 
 public class DocCollection extends ZkNodeProps implements Iterable<Slice> Models a Collection in zookeeper (but that Java name is obviously taken, hence "DocCollection")
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static interfaceDocCollection.CollectionStatePropsJSON properties related to a collection's state.
 - 
Field SummaryFields Modifier and Type Field Description static StringCOLLECTIONS_ZKNODE- 
Fields inherited from class org.apache.solr.common.cloud.ZkNodePropspropMap
 
- 
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DocCollectioncopyWith(PerReplicaStates newPerReplicaStates)Update our state with a state of aReplicaUsed to create a new Collection State when only a replica is updatedDocCollectioncopyWithSlices(Map<String,Slice> slices)Use this to make an exact copy of DocCollection with a new set of Slices and every other property as isbooleanequals(Object that)voidforEachReplica(BiConsumer<String,Replica> consumer)Collection<Slice>getActiveSlices()Return the list of active slices for this collection.Slice[]getActiveSlicesArr()Return array of active slices for this collection (performance optimization).Map<String,Slice>getActiveSlicesMap()Get the map of active slices (sliceName->Slice) for this collection.intgetChildNodesVersion()static StringgetCollectionPath(String coll)static StringgetCollectionPathRoot(String coll)StringgetConfigName()Return non-null config nameintgetExpectedReplicaCount(Replica.Type type, int def)ReplicagetLeader(String sliceName)List<Replica>getLeaderReplicas(String nodeName)Get the list of all leaders hosted on the given node ornullif none.StringgetName()Return collection name.IntegergetNumNrtReplicas()IntegergetNumPullReplicas()IntegergetNumTlogReplicas()PerReplicaStatesgetPerReplicaStates()ReplicagetReplica(String coreNodeName)ReplicagetReplica(BiPredicate<String,Replica> predicate)List<Replica>getReplicas()List<Replica>getReplicas(String nodeName)Get the list of replicas hosted on the given node ornullif none.List<Replica>getReplicas(EnumSet<Replica.Type> s)IntegergetReplicationFactor()DocRoutergetRouter()StringgetShardId(String nodeName, String coreName)Get the shardId of a core on a specific nodeSlicegetSlice(String sliceName)Collection<Slice>getSlices()Gets the list of all slices for this collection.Map<String,Slice>getSlicesMap()Get the map of all slices (sliceName->Slice) for this collection.StringgetZNode()intgetZNodeVersion()inthashCode()static booleanisFullyActive(Set<String> liveNodes, DocCollection collectionState, int expectedShards, int expectedReplicas)Check that all replicas in a collection are livebooleanisModified(int dataVersion, int childVersion)booleanisPerReplicaState()booleanisReadOnly()Iterator<Slice>iterator()StringtoString()static ObjectverifyProp(Map<String,Object> props, String propName)static ObjectverifyProp(Map<String,Object> props, String propName, Object def)voidwrite(org.noggit.JSONWriter jsonWriter)- 
Methods inherited from class org.apache.solr.common.cloud.ZkNodePropscontainsKey, fromKeyVals, get, getBool, getInt, getProperties, getStr, getStr, keySet, load, plus, plus, shallowCopy
 - 
Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface java.lang.IterableforEach, spliterator
 
- 
 
- 
- 
- 
Field Detail- 
COLLECTIONS_ZKNODEpublic static final String COLLECTIONS_ZKNODE - See Also:
- Constant Field Values
 
 
- 
 - 
Constructor Detail- 
DocCollectionpublic DocCollection(String name, Map<String,Slice> slices, Map<String,Object> props, DocRouter router) 
 - 
DocCollectionpublic DocCollection(String name, Map<String,Slice> slices, Map<String,Object> props, DocRouter router, int zkVersion) - Parameters:
- name- The name of the collection
- slices- The logical shards of the collection. This is used directly and a copy is not made.
- props- The properties of the slice. This is used directly and a copy is not made.
- zkVersion- The version of the Collection node in Zookeeper (used for conditional updates).
 
 
- 
 - 
Method Detail- 
copyWithpublic DocCollection copyWith(PerReplicaStates newPerReplicaStates) Update our state with a state of aReplicaUsed to create a new Collection State when only a replica is updated
 - 
copyWithSlicespublic DocCollection copyWithSlices(Map<String,Slice> slices) Use this to make an exact copy of DocCollection with a new set of Slices and every other property as is- Parameters:
- slices- the new set of Slices
- Returns:
- the resulting DocCollection
 
 - 
getNamepublic String getName() Return collection name.
 - 
getConfigNamepublic String getConfigName() Return non-null config name
 - 
forEachReplicapublic void forEachReplica(BiConsumer<String,Replica> consumer) - Parameters:
- consumer- consume shardName vs. replica
 
 - 
getSlicespublic Collection<Slice> getSlices() Gets the list of all slices for this collection.
 - 
getActiveSlicespublic Collection<Slice> getActiveSlices() Return the list of active slices for this collection.
 - 
getActiveSlicesArrpublic Slice[] getActiveSlicesArr() Return array of active slices for this collection (performance optimization).
 - 
getSlicesMappublic Map<String,Slice> getSlicesMap() Get the map of all slices (sliceName->Slice) for this collection.
 - 
getActiveSlicesMappublic Map<String,Slice> getActiveSlicesMap() Get the map of active slices (sliceName->Slice) for this collection.
 - 
getReplicaspublic List<Replica> getReplicas(String nodeName) Get the list of replicas hosted on the given node ornullif none.
 - 
getLeaderReplicaspublic List<Replica> getLeaderReplicas(String nodeName) Get the list of all leaders hosted on the given node ornullif none.
 - 
getZNodeVersionpublic int getZNodeVersion() 
 - 
getChildNodesVersionpublic int getChildNodesVersion() 
 - 
isModifiedpublic boolean isModified(int dataVersion, int childVersion)
 - 
getReplicationFactorpublic Integer getReplicationFactor() - Returns:
- replication factor for this collection or null if no replication factor exists.
 
 - 
getZNodepublic String getZNode() 
 - 
getRouterpublic DocRouter getRouter() 
 - 
isReadOnlypublic boolean isReadOnly() 
 - 
toStringpublic String toString() - Overrides:
- toStringin class- ZkNodeProps
 
 - 
writepublic void write(org.noggit.JSONWriter jsonWriter) - Specified by:
- writein interface- org.noggit.JSONWriter.Writable
- Overrides:
- writein class- ZkNodeProps
 
 - 
isFullyActivepublic static boolean isFullyActive(Set<String> liveNodes, DocCollection collectionState, int expectedShards, int expectedReplicas) Check that all replicas in a collection are live- See Also:
- CollectionStatePredicate
 
 - 
getReplicapublic Replica getReplica(BiPredicate<String,Replica> predicate) - Parameters:
- predicate- test against shardName vs. replica
- Returns:
- the first replica that matches the predicate
 
 - 
getReplicaspublic List<Replica> getReplicas(EnumSet<Replica.Type> s) 
 - 
getShardIdpublic String getShardId(String nodeName, String coreName) Get the shardId of a core on a specific node
 - 
equalspublic boolean equals(Object that) - Overrides:
- equalsin class- ZkNodeProps
 
 - 
hashCodepublic int hashCode() - Overrides:
- hashCodein class- ZkNodeProps
 
 - 
getNumNrtReplicaspublic Integer getNumNrtReplicas() - Returns:
- the number of replicas of type Replica.Type.NRTthis collection was created with
 
 - 
getNumTlogReplicaspublic Integer getNumTlogReplicas() - Returns:
- the number of replicas of type Replica.Type.TLOGthis collection was created with
 
 - 
getNumPullReplicaspublic Integer getNumPullReplicas() - Returns:
- the number of replicas of type Replica.Type.PULLthis collection was created with
 
 - 
isPerReplicaStatepublic boolean isPerReplicaState() 
 - 
getPerReplicaStatespublic PerReplicaStates getPerReplicaStates() 
 - 
getExpectedReplicaCountpublic int getExpectedReplicaCount(Replica.Type type, int def) 
 
- 
 
-