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
public class SolrClientNodeStateProvider extends Object implements NodeStateProvider, org.apache.solr.common.MapWriter
The realNodeStateProvider
, which communicates with Solr via SolrJ.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SolrClientNodeStateProvider.Variable
-
Field Summary
Fields Modifier and Type Field Description static String
METRICS_PREFIX
protected Map<String,Map<String,Map<String,List<org.apache.solr.common.cloud.Replica>>>>
nodeVsCollectionVsShardVsReplicaInfo
-
Constructor Summary
Constructors Constructor Description SolrClientNodeStateProvider(org.apache.solr.client.solrj.impl.CloudLegacySolrClient solrClient)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected Map<String,Object>
fetchReplicaMetrics(String node, Map<String,org.apache.solr.common.util.Pair<String,org.apache.solr.common.cloud.Replica>> metricsKeyVsTagReplica)
protected Map<String,Object>
fetchTagValues(String node, Collection<String> tags)
void
forEachReplica(String node, Consumer<org.apache.solr.common.cloud.Replica> consumer)
static void
forEachReplica(Map<String,Map<String,List<org.apache.solr.common.cloud.Replica>>> collectionVsShardVsReplicas, Consumer<org.apache.solr.common.cloud.Replica> consumer)
protected org.apache.solr.client.solrj.impl.ClusterStateProvider
getClusterStateProvider()
Map<String,Object>
getNodeValues(String node, Collection<String> tags)
Get the value of each tag for a given nodeMap<String,Map<String,List<org.apache.solr.common.cloud.Replica>>>
getReplicaInfo(String node, Collection<String> keys)
Get the details of each replica in a node.protected void
readReplicaDetails()
String
toString()
void
writeMap(org.apache.solr.common.MapWriter.EntryWriter ew)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
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 interfaceorg.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 interfaceNodeStateProvider
- Parameters:
node
- node nametags
- tag names- Returns:
- a map of tag vs value
-
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 detailsThe format is {collection:shard :[{replicadetails}]}.
- Specified by:
getReplicaInfo
in interfaceNodeStateProvider
- Returns:
- map of replica infos per collection/shard
-
fetchReplicaMetrics
protected Map<String,Object> fetchReplicaMetrics(String node, Map<String,org.apache.solr.common.util.Pair<String,org.apache.solr.common.cloud.Replica>> metricsKeyVsTagReplica)
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
-