Package org.apache.solr.cloud
Class CloudUtil
- java.lang.Object
-
- org.apache.solr.cloud.CloudUtil
-
public class CloudUtil extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_TIMEOUT
-
Constructor Summary
Constructors Constructor Description CloudUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidcheckSharedFSFailoverReplaced(CoreContainer cc, CoreDescriptor desc)See if coreNodeName has been taken over by another baseUrl and unload core + throw exception if it has been.static org.apache.solr.common.cloud.CollectionStatePredicateclusterShape(int expectedShards, int expectedReplicas)Return aCollectionStatePredicatethat returns true if a collection has the expected number of active shards and replicasstatic org.apache.solr.common.cloud.CollectionStatePredicateclusterShape(int expectedShards, int expectedReplicas, boolean withInactive, boolean requireLeaders)Return aCollectionStatePredicatethat returns true if a collection has the expected number of shards and replicas.static Map<String,byte[]>getTrustedKeys(org.apache.solr.common.cloud.SolrZkClient zk, String dir)Read the list of public keys from ZKstatic booleanreplicaExists(org.apache.solr.common.cloud.ClusterState clusterState, String collection, String shard, String coreNodeName)static StringunifiedResourcePath(SolrResourceLoader loader)Returns a displayable unified path to the given resource.static longwaitForState(org.apache.solr.client.solrj.cloud.SolrCloudManager cloudManager, String collection, long wait, TimeUnit unit, org.apache.solr.common.cloud.CollectionStatePredicate predicate)Wait for a particular collection state to appear.static longwaitForState(org.apache.solr.client.solrj.cloud.SolrCloudManager cloudManager, String message, String collection, org.apache.solr.common.cloud.CollectionStatePredicate predicate)Wait for a particular collection state to appear.
-
-
-
Field Detail
-
DEFAULT_TIMEOUT
public static final int DEFAULT_TIMEOUT
- See Also:
- Constant Field Values
-
-
Method Detail
-
checkSharedFSFailoverReplaced
public static void checkSharedFSFailoverReplaced(CoreContainer cc, CoreDescriptor desc)
See if coreNodeName has been taken over by another baseUrl and unload core + throw exception if it has been.
-
replicaExists
public static boolean replicaExists(org.apache.solr.common.cloud.ClusterState clusterState, String collection, String shard, String coreNodeName)
-
unifiedResourcePath
public static String unifiedResourcePath(SolrResourceLoader loader)
Returns a displayable unified path to the given resource. For non-solrCloud that will be the same as getConfigDir, but for Cloud it will be getConfigSetZkPath ending in a /Note: Do not use this to generate a valid file path, but for debug printing etc
- Parameters:
loader- Resource loader instance- Returns:
- a String of path to resource
-
getTrustedKeys
public static Map<String,byte[]> getTrustedKeys(org.apache.solr.common.cloud.SolrZkClient zk, String dir)
Read the list of public keys from ZK
-
waitForState
public static long waitForState(org.apache.solr.client.solrj.cloud.SolrCloudManager cloudManager, String message, String collection, org.apache.solr.common.cloud.CollectionStatePredicate predicate)Wait for a particular collection state to appear.This is a convenience method using the
DEFAULT_TIMEOUT- Parameters:
cloudManager- current instance ofSolrCloudManagermessage- a message to report on failurecollection- the collection to watchpredicate- a predicate to match against the collection state
-
waitForState
public static long waitForState(org.apache.solr.client.solrj.cloud.SolrCloudManager cloudManager, String collection, long wait, TimeUnit unit, org.apache.solr.common.cloud.CollectionStatePredicate predicate) throws InterruptedException, TimeoutException, IOExceptionWait for a particular collection state to appear.This is a convenience method using the
DEFAULT_TIMEOUT- Parameters:
cloudManager- current instance ofSolrCloudManagercollection- the collection to watchwait- timeout valueunit- timeout unitpredicate- a predicate to match against the collection state- Throws:
InterruptedExceptionTimeoutExceptionIOException
-
clusterShape
public static org.apache.solr.common.cloud.CollectionStatePredicate clusterShape(int expectedShards, int expectedReplicas)Return aCollectionStatePredicatethat returns true if a collection has the expected number of active shards and replicas- Parameters:
expectedShards- expected number of active shardsexpectedReplicas- expected number of active replicas
-
clusterShape
public static org.apache.solr.common.cloud.CollectionStatePredicate clusterShape(int expectedShards, int expectedReplicas, boolean withInactive, boolean requireLeaders)Return aCollectionStatePredicatethat returns true if a collection has the expected number of shards and replicas.Note: for shards marked as inactive the current Solr behavior is that replicas remain active.
- Parameters:
expectedShards- expected number of shardsexpectedReplicas- expected number of active replicas per shardwithInactive- if true then count also inactive shardsrequireLeaders- if true then require that each shard has a leader
-
-