Class ContentCluster

  • All Implemented Interfaces:
    com.yahoo.config.ConfigInstance.Producer, com.yahoo.metrics.MetricsmanagerConfig.Producer, com.yahoo.vespa.config.content.core.BucketspacesConfig.Producer, com.yahoo.vespa.config.content.core.StorDistributormanagerConfig.Producer, com.yahoo.vespa.config.content.FleetcontrollerConfig.Producer, com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig.Producer, com.yahoo.vespa.config.content.StorDistributionConfig.Producer, ConfigProducer, java.io.Serializable

    public class ContentCluster
    extends AbstractConfigProducer
    implements com.yahoo.vespa.config.content.StorDistributionConfig.Producer, com.yahoo.vespa.config.content.core.StorDistributormanagerConfig.Producer, com.yahoo.vespa.config.content.FleetcontrollerConfig.Producer, com.yahoo.metrics.MetricsmanagerConfig.Producer, com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig.Producer, com.yahoo.vespa.config.content.core.BucketspacesConfig.Producer
    A content cluster.
    Author:
    mostly somebody unknown, bratseth
    See Also:
    Serialized Form
    • Field Detail

      • METRIC_INDEX_MAP

        public static java.util.Map<java.lang.String,​java.lang.Integer> METRIC_INDEX_MAP
    • Method Detail

      • prepare

        public void prepare​(DeployState deployState)
      • getClusterId

        public static java.lang.String getClusterId​(ModelElement clusterElem)
      • getName

        public java.lang.String getName()
      • getRoutingSelector

        public java.lang.String getRoutingSelector()
      • getDocumentDefinitions

        public java.util.Map<java.lang.String,​NewDocumentType> getDocumentDefinitions()
        The list of documentdefinitions declared at the cluster level.
        Returns:
        the set of documenttype names
      • isGloballyDistributed

        public boolean isGloballyDistributed​(NewDocumentType docType)
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.StorDistributionConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.StorDistributionConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.FleetcontrollerConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.FleetcontrollerConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.core.StorDistributormanagerConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.core.StorDistributormanagerConfig.Producer
      • distributionBits

        public int distributionBits()
        Returns the distribution bits this cluster should use. On Hosted Vespa this is hardcoded and not computed from the nodes because reducing the number of nodes is a common operation, while reducing the number of distribution bits can lead to consistency problems. This hardcoded value should work fine from 1-200 nodes. Those who have more will need to set this value in config and not remove it again if they reduce the node count.
      • isHosted

        public boolean isHosted()
      • validate

        public void validate()
                      throws java.lang.Exception
        Description copied from interface: ConfigProducer
        check constraints depending on the state of the vespamodel graph. When overriding, you must invoke super.
        Specified by:
        validate in interface ConfigProducer
        Overrides:
        validate in class AbstractConfigProducer
        Throws:
        java.lang.Exception
      • getMetricBuilder

        public static com.yahoo.metrics.MetricsmanagerConfig.Consumer.Builder getMetricBuilder​(java.lang.String name,
                                                                                               com.yahoo.metrics.MetricsmanagerConfig.Builder builder)
      • getConfig

        public void getConfig​(com.yahoo.metrics.MetricsmanagerConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.metrics.MetricsmanagerConfig.Producer
      • clusterBucketSpaceConfigBuilder

        public com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig.Cluster.Builder clusterBucketSpaceConfigBuilder()
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.core.BucketspacesConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.core.BucketspacesConfig.Producer