# Package org.apache.solr.common.cloud

Common Solr Cloud and ZooKeeper related classes reused on both clients & server.

See: Description

Interface Summary
BeforeReconnect
CloudCollectionsListener: Callback registered with `ZkStateReader.registerCloudCollectionsListener(CloudCollectionsListener)` and called whenever the cloud's set of collections changes.
ClusterPropertiesListener: Listener that can be used with `ZkStateReader.registerClusterPropertiesListener(ClusterPropertiesListener)` and called whenever the cluster properties changes.
CollectionPropsWatcher: Callback registered with `ZkStateReader.registerCollectionPropsWatcher(String, CollectionPropsWatcher)` and called whenever the collection properties change.
CollectionStatePredicate: Interface to determine if a set of liveNodes and a collection's state matches some expecatations.
CollectionStateWatcher: Callback registered with `ZkStateReader.registerCollectionStateWatcher(String, CollectionStateWatcher)` and called whenever there is a change in the collection state or in the list of liveNodes.
DocCollectionWatcher: Callback registered with `ZkStateReader.registerDocCollectionWatcher(String, DocCollectionWatcher)` and called whenever the DocCollection changes.
LiveNodesListener: Listener that can be used with `ZkStateReader.registerLiveNodesListener(LiveNodesListener)` and called whenever the live nodes set changes.
LiveNodesPredicate: Interface to determine if live nodes matches a required state
LiveNodesWatcher
OnReconnect: Implementations are expected to implement a correct hashCode and equals method needed to uniquely identify the listener as listeners are managed in a Set.
ZkACLProvider
ZkClientConnectionStrategy.ConnectedListener
ZkClientConnectionStrategy.DisconnectedListener
ZkClientConnectionStrategy.ZkUpdate
ZkCredentialsProvider
ZkMaintenanceUtils.ZkVisitor
ZkOperation: A callback object which can be used for implementing retry-able operations.

Class Summary
Aliases: Holds collection aliases -- virtual collections that point to one or more other collections.
ClusterProperties: Interact with solr cluster properties Note that all methods on this class make calls to ZK on every invocation.
ClusterState: Immutable state of the cloud.
ClusterState.CollectionRef
ClusterStateUtil
CollectionProperties: Interact with solr collection properties Note that all methods on this class make calls to ZK on every invocation.
CompositeIdRouter: CompositeIdRouter partitions ids based on a `CompositeIdRouter.SEPARATOR`, hashes each partition and merges the hashes together to map the id to a slice.
ConnectionManager
ConnectionManager.IsClosed
DefaultConnectionStrategy: TODO: improve backoff retry impl
DefaultZkACLProvider
DefaultZkCredentialsProvider
DocCollection: Models a Collection in zookeeper (but that Java name is obviously taken, hence "DocCollection")
DocRouter: Class to partition int range into n ranges.
DocRouter.Range
HashBasedRouter
ImplicitDocRouter: This document router is for custom sharding
NodesSysPropsCacher: Caching other nodes system properties.
PlainIdRouter
Replica
ReplicaPosition
RoutingRule: Used for routing docs with particular keys into another collection
SaslZkACLProvider: ZkACLProvider that gives all permissions for the user specified in System property "solr.authorization.superuser" (default: "solr") when using sasl, and gives read permissions for anyone else.
SecurityAwareZkACLProvider: `ZkACLProvider` capable of returning a different set of `ACL`s for security-related znodes (default: subtree under /security) vs non-security-related znodes.
Slice: A Slice contains immutable information about a logical shard (all replicas that share the same shard id).
SolrZkClient: All Solr ZooKeeper interactions should go through this class rather than ZooKeeper.
SolrZooKeeper
VMParamsAllAndReadonlyDigestZkACLProvider
VMParamsSingleSetCredentialsDigestZkCredentialsProvider
ZkClientConnectionStrategy
ZkCmdExecutor
ZkConfigManager: Class that manages named configs in Zookeeper
ZkCoreNodeProps
ZkCredentialsProvider.ZkCredentials
ZkMaintenanceUtils: Class to hold ZK upload/download/move common code.
ZkNodeProps: ZkNodeProps contains generic immutable properties.
ZkStateReader
ZkStateReader.ConfigData

Enum Summary
Replica.State: The replica's state.
Replica.Type
Slice.State: The slice's state.
ZkMaintenanceUtils.VISIT_ORDER

Exception Summary
ZooKeeperException

## Package org.apache.solr.common.cloud Description

Common Solr Cloud and ZooKeeper related classes reused on both clients & server.