Class SolrClientNodeStateProvider

java.lang.Object
org.apache.solr.client.solrj.impl.SolrClientNodeStateProvider
All Implemented Interfaces:
Closeable, AutoCloseable, NodeStateProvider, org.apache.solr.common.MapSerializable, org.apache.solr.common.MapWriter, org.apache.solr.common.NavigableObject, org.apache.solr.common.SolrCloseable, org.noggit.JSONWriter.Writable

public class SolrClientNodeStateProvider extends Object implements NodeStateProvider, org.apache.solr.common.MapWriter
The real NodeStateProvider, which communicates with Solr via SolrJ.
  • Field Details

    • nodeVsCollectionVsShardVsReplicaInfo

      protected final Map<String,Map<String,Map<String,List<org.apache.solr.common.cloud.Replica>>>> nodeVsCollectionVsShardVsReplicaInfo
  • Constructor Details

    • SolrClientNodeStateProvider

      public SolrClientNodeStateProvider(org.apache.solr.client.solrj.impl.CloudSolrClient solrClient)
  • Method Details

    • getClusterStateProvider

      protected org.apache.solr.client.solrj.impl.ClusterStateProvider getClusterStateProvider()
    • readReplicaDetails

      protected void readReplicaDetails() throws IOException
      Throws:
      IOException
    • writeMap

      public void writeMap(org.apache.solr.common.MapWriter.EntryWriter ew) throws IOException
      Specified by:
      writeMap in interface org.apache.solr.common.MapWriter
      Throws:
      IOException
    • getNodeValues

      public Map<String,Object> getNodeValues(String node, Collection<String> tags)
      Description copied from interface: NodeStateProvider
      Get the value of each tag for a given node
      Specified by:
      getNodeValues in interface NodeStateProvider
      Parameters:
      node - node name
      tags - tag names
      Returns:
      a map of tag vs value
    • fetchTagValues

      protected Map<String,Object> fetchTagValues(String node, Collection<String> tags)
    • forEachReplica

      public void forEachReplica(String node, Consumer<org.apache.solr.common.cloud.Replica> consumer)
    • forEachReplica

      public static void forEachReplica(Map<String,Map<String,List<org.apache.solr.common.cloud.Replica>>> collectionVsShardVsReplicas, Consumer<org.apache.solr.common.cloud.Replica> consumer)
    • getReplicaInfo

      public Map<String,Map<String,List<org.apache.solr.common.cloud.Replica>>> getReplicaInfo(String node, Collection<String> keys)
      Description copied from interface: NodeStateProvider
      Get the details of each replica in a node. It attempts to fetch as much details about the replica as mentioned in the keys list. It is not necessary to give all details

      The format is {collection:shard :[{replicadetails}]}.

      Specified by:
      getReplicaInfo in interface NodeStateProvider
      Returns:
      map of replica infos per collection/shard
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object