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:
  • Field Details

  • Method Details

    • id

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

      public ContentCluster.DistributionMode getDistributionMode()
    • getClusterId

      public static String getClusterId(ModelElement clusterElem)
    • getName

      public String getName()
    • getRoutingSelector

      public String getRoutingSelector()
    • getDistributorNodes

      public DistributorCluster getDistributorNodes()
    • getStorageCluster

      public StorageCluster getStorageCluster()
    • getClusterControllerConfig

      public ClusterControllerConfig getClusterControllerConfig()
    • getPersistence

      public PersistenceEngine.PersistenceFactory getPersistence()
    • getDocumentDefinitions

      public Map<String,NewDocumentType> getDocumentDefinitions()
      Returns a list of th document types declared at the cluster level.
    • isGloballyDistributed

      public boolean isGloballyDistributed(NewDocumentType docType)
    • getSearch

      public final ContentSearchCluster getSearch()
    • redundancy

      public Redundancy redundancy()
    • setRedundancy

      public ContentCluster setRedundancy(Redundancy redundancy)
    • getConfig

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

      public StorageGroup getRootGroup()
    • 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 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<AbstractConfigProducer<?>>
      Throws:
      Exception
    • 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object