Interface ClusterStateProvider

All Superinterfaces:
AutoCloseable, Closeable, SolrCloseable
All Known Implementing Classes:
BaseHttpClusterStateProvider, DelegatingClusterStateProvider, HttpClusterStateProvider

public interface ClusterStateProvider extends SolrCloseable
Provides cluster state from some source
  • Method Details

    • newZkClusterStateProvider

      static ClusterStateProvider newZkClusterStateProvider(Collection<String> zkHosts, String zkChroot, boolean canUseZkACLs)
    • getState

      ClusterState.CollectionRef getState(String collection)
      Obtain the state of the collection (cluster status).
      Returns:
      the collection state, or null only if collection doesn't exist
    • getLiveNodes

      Set<String> getLiveNodes()
      Obtain set of live_nodes for the cluster.
    • resolveAlias

      List<String> resolveAlias(String alias)
      Given a collection alias, returns a list of collections it points to, or returns a singleton list of the input if it's not an alias.
    • getAliasProperties

      Map<String,String> getAliasProperties(String alias)
      Return alias properties, or an empty map if the alias has no properties.
    • resolveSimpleAlias

      default String resolveSimpleAlias(String alias) throws IllegalArgumentException
      Given a collection alias, return a single collection it points to, or the original name if it's not an alias.
      Throws:
      IllegalArgumentException - if an alias points to more than 1 collection, either directly or indirectly.
    • isRoutedAlias

      default boolean isRoutedAlias(String alias)
      Returns true if an alias exists and is a routed alias, false otherwise.
    • getClusterState

      ClusterState getClusterState()
      Obtain the current cluster state. WARNING: This method is quite expensive as it involves fetching remote information. Use with caution and be aware of the potential performance implications.
    • getCollection

      default DocCollection getCollection(String name) throws IOException
      Throws:
      IOException
    • getClusterProperties

      Map<String,Object> getClusterProperties()
      Obtain cluster properties.
      Returns:
      configured cluster properties, or an empty map, never null.
    • getClusterProperty

      default <T> T getClusterProperty(String key, T defaultValue)
      Obtain a cluster property, or the default value if it doesn't exist.
    • getClusterProperty

      Object getClusterProperty(String propertyName)
      Obtain a cluster property, or null if it doesn't exist.
    • getPolicyNameByCollection

      String getPolicyNameByCollection(String coll)
      Get the collection-specific policy
    • connect

      @Deprecated void connect()
      Deprecated.
    • getQuorumHosts

      String getQuorumHosts()