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.DistributionConfig.Producer, com.yahoo.vespa.config.content.FleetcontrollerConfig.Producer, com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig.Producer, com.yahoo.vespa.config.content.StorDistributionConfig.Producer, ConfigProducer, Serializable

    public class ContentCluster
    extends AbstractConfigProducer<AbstractConfigProducer<?>>
    implements com.yahoo.vespa.config.content.DistributionConfig.Producer, 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
    • Method Detail

      • id

        public com.yahoo.config.provision.ClusterSpec.Id id()
      • getName

        public String getName()
      • getRoutingSelector

        public String getRoutingSelector()
      • getDocumentDefinitions

        public Map<String,​NewDocumentType> getDocumentDefinitions()
        Returns a list of th document types declared at the cluster level.
      • 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()
      • getMetricBuilder

        public static com.yahoo.metrics.MetricsmanagerConfig.Consumer.Builder getMetricBuilder​(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
      • getConfig

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

        public void setDeferChangesUntilRestart​(boolean deferChangesUntilRestart)
        Mark whether the config emitted by this cluster currently should be applied by clients already running with a previous generation of it only by restarting the consuming processes.