Class CloudUtil


  • public class CloudUtil
    extends Object
    • Constructor Detail

      • CloudUtil

        public CloudUtil()
    • 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.
      • 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​(SolrZkClient zk,
                                                              String dir)
        Read the list of public keys from ZK
      • waitForState

        public static long waitForState​(SolrCloudManager cloudManager,
                                        String message,
                                        String collection,
                                        CollectionStatePredicate predicate)
        Wait for a particular collection state to appear. This is a convenience method using the DEFAULT_TIMEOUT
        Parameters:
        cloudManager - current instance of SolrCloudManager
        message - a message to report on failure
        collection - the collection to watch
        predicate - a predicate to match against the collection state
      • clusterShape

        public static CollectionStatePredicate clusterShape​(int expectedShards,
                                                            int expectedReplicas)
        Return a CollectionStatePredicate that returns true if a collection has the expected number of active shards and replicas
        Parameters:
        expectedShards - expected number of active shards
        expectedReplicas - expected number of active replicas
      • clusterShape

        public static CollectionStatePredicate clusterShape​(int expectedShards,
                                                            int expectedReplicas,
                                                            boolean withInactive,
                                                            boolean requireLeaders)
        Return a CollectionStatePredicate that 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. SimCloudManager follows this behavior.

        Parameters:
        expectedShards - expected number of shards
        expectedReplicas - expected number of active replicas per shard
        withInactive - if true then count also inactive shards
        requireLeaders - if true then require that each shard has a leader