Documentation ¶
Overview ¶
Package config is a generated protocol buffer package.
It is generated from these files:
cockroach/pkg/config/config.proto
It has these top-level messages:
GCPolicy Constraint Constraints ZoneConfig SystemConfig
Index ¶
- Variables
- func ObjectIDForKey(key roachpb.RKey) (uint32, bool)
- func TestingSetDefaultZoneConfig(cfg ZoneConfig) func()
- func TestingSetZoneConfig(id uint32, zone ZoneConfig)
- func TestingSetupZoneConfigHook(stopper *stop.Stopper)
- type Constraint
- func (*Constraint) Descriptor() ([]byte, []int)
- func (c *Constraint) FromString(short string) error
- func (m *Constraint) Marshal() (dAtA []byte, err error)
- func (m *Constraint) MarshalTo(dAtA []byte) (int, error)
- func (*Constraint) ProtoMessage()
- func (m *Constraint) Reset()
- func (m *Constraint) Size() (n int)
- func (c Constraint) String() string
- func (m *Constraint) Unmarshal(dAtA []byte) error
- type Constraint_Type
- type Constraints
- func (*Constraints) Descriptor() ([]byte, []int)
- func (m *Constraints) Marshal() (dAtA []byte, err error)
- func (m *Constraints) MarshalTo(dAtA []byte) (int, error)
- func (c Constraints) MarshalYAML() (interface{}, error)
- func (*Constraints) ProtoMessage()
- func (m *Constraints) Reset()
- func (m *Constraints) Size() (n int)
- func (m *Constraints) String() string
- func (m *Constraints) Unmarshal(dAtA []byte) error
- func (c *Constraints) UnmarshalYAML(unmarshal func(interface{}) error) error
- type GCPolicy
- func (*GCPolicy) Descriptor() ([]byte, []int)
- func (m *GCPolicy) Marshal() (dAtA []byte, err error)
- func (m *GCPolicy) MarshalTo(dAtA []byte) (int, error)
- func (*GCPolicy) ProtoMessage()
- func (m *GCPolicy) Reset()
- func (m *GCPolicy) Size() (n int)
- func (m *GCPolicy) String() string
- func (m *GCPolicy) Unmarshal(dAtA []byte) error
- type SystemConfig
- func (s SystemConfig) ComputeSplitKey(startKey, endKey roachpb.RKey) roachpb.RKey
- func (*SystemConfig) Descriptor() ([]byte, []int)
- func (s SystemConfig) Equal(other SystemConfig) bool
- func (s SystemConfig) GetIndex(key roachpb.Key) (int, bool)
- func (s SystemConfig) GetLargestObjectID(maxID uint32) (uint32, error)
- func (s SystemConfig) GetValue(key roachpb.Key) *roachpb.Value
- func (s SystemConfig) GetZoneConfigForKey(key roachpb.RKey) (ZoneConfig, error)
- func (m *SystemConfig) Marshal() (dAtA []byte, err error)
- func (m *SystemConfig) MarshalTo(dAtA []byte) (int, error)
- func (s SystemConfig) NeedsSplit(startKey, endKey roachpb.RKey) bool
- func (*SystemConfig) ProtoMessage()
- func (m *SystemConfig) Reset()
- func (m *SystemConfig) Size() (n int)
- func (m *SystemConfig) String() string
- func (m *SystemConfig) Unmarshal(dAtA []byte) error
- type ZoneConfig
- func (*ZoneConfig) Descriptor() ([]byte, []int)
- func (m *ZoneConfig) Marshal() (dAtA []byte, err error)
- func (m *ZoneConfig) MarshalTo(dAtA []byte) (int, error)
- func (*ZoneConfig) ProtoMessage()
- func (m *ZoneConfig) Reset()
- func (m *ZoneConfig) Size() (n int)
- func (m *ZoneConfig) String() string
- func (m *ZoneConfig) Unmarshal(dAtA []byte) error
- func (z ZoneConfig) Validate() error
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") )
var Constraint_Type_name = map[int32]string{
0: "POSITIVE",
1: "REQUIRED",
2: "PROHIBITED",
}
var Constraint_Type_value = map[string]int32{
"POSITIVE": 0,
"REQUIRED": 1,
"PROHIBITED": 2,
}
var StaticSplits = []struct { SplitPoint roachpb.RKey SplitKey roachpb.RKey }{ { SplitPoint: roachpb.RKey(keys.SystemPrefix), SplitKey: roachpb.RKey(keys.SystemPrefix), }, { SplitPoint: roachpb.RKey(keys.TimeseriesPrefix), SplitKey: roachpb.RKey(keys.TimeseriesPrefix), }, { SplitPoint: roachpb.RKey(keys.TimeseriesPrefix.PrefixEnd()), SplitKey: roachpb.RKey(keys.TimeseriesPrefix.PrefixEnd()), }, { SplitPoint: roachpb.RKey(keys.TableDataMin), SplitKey: keys.SystemConfigSplitKey, }, }
StaticSplits is the list of pre-defined split points in the beginning of the keyspace that are there to support separate zone configs for different parts of the system / system config ranges. Exposed publicly so that its ordering can be tested.
var ( // ZoneConfigHook is a function used to lookup a zone config given a table // or database ID. // This is also used by testing to simplify fake configs. ZoneConfigHook zoneConfigHook )
Functions ¶
func ObjectIDForKey ¶
ObjectIDForKey returns the object ID (table or database) for 'key', or (_, false) if not within the structured key space.
func TestingSetDefaultZoneConfig ¶
func TestingSetDefaultZoneConfig(cfg ZoneConfig) func()
TestingSetDefaultZoneConfig is a testing-only function that changes the default zone config and returns a function that reverts the change.
func TestingSetZoneConfig ¶
func TestingSetZoneConfig(id uint32, zone ZoneConfig)
TestingSetZoneConfig sets the zone config entry for object 'id' in the testing map.
func TestingSetupZoneConfigHook ¶
TestingSetupZoneConfigHook initializes the zone config hook to 'testingZoneConfigHook' which uses 'testingZoneConfig'. Settings go back to their previous values when the stopper runs our closer.
Types ¶
type Constraint ¶
type Constraint struct { Type Constraint_Type `protobuf:"varint,1,opt,name=type,enum=cockroach.config.Constraint_Type" json:"type"` // Key is only set if this is a constraint on locality. Key string `protobuf:"bytes,2,opt,name=key" json:"key"` // Value to constrain to. Value string `protobuf:"bytes,3,opt,name=value" json:"value"` }
Constraint constrains the stores a replica can be stored on.
func (*Constraint) Descriptor ¶
func (*Constraint) Descriptor() ([]byte, []int)
func (*Constraint) FromString ¶
func (c *Constraint) FromString(short string) error
FromString populates the constraint from the constraint shorthand notation.
func (*Constraint) Marshal ¶
func (m *Constraint) Marshal() (dAtA []byte, err error)
func (*Constraint) ProtoMessage ¶
func (*Constraint) ProtoMessage()
func (*Constraint) Reset ¶
func (m *Constraint) Reset()
func (*Constraint) Size ¶
func (m *Constraint) Size() (n int)
func (Constraint) String ¶
func (c Constraint) String() string
func (*Constraint) Unmarshal ¶
func (m *Constraint) Unmarshal(dAtA []byte) error
type Constraint_Type ¶
type Constraint_Type int32
const ( // POSITIVE will attempt to ensure all stores the replicas are on has this // constraint. Constraint_POSITIVE Constraint_Type = 0 // REQUIRED is like POSITIVE except replication will fail if not satisfied. Constraint_REQUIRED Constraint_Type = 1 // PROHIBITED will prevent replicas from having this key, value. Constraint_PROHIBITED Constraint_Type = 2 )
func (Constraint_Type) Enum ¶
func (x Constraint_Type) Enum() *Constraint_Type
func (Constraint_Type) EnumDescriptor ¶
func (Constraint_Type) EnumDescriptor() ([]byte, []int)
func (Constraint_Type) String ¶
func (x Constraint_Type) String() string
func (*Constraint_Type) UnmarshalJSON ¶
func (x *Constraint_Type) UnmarshalJSON(data []byte) error
type Constraints ¶
type Constraints struct {
Constraints []Constraint `protobuf:"bytes,6,rep,name=constraints" json:"constraints"`
}
Constraints is a collection of constraints.
func (*Constraints) Descriptor ¶
func (*Constraints) Descriptor() ([]byte, []int)
func (*Constraints) Marshal ¶
func (m *Constraints) Marshal() (dAtA []byte, err error)
func (Constraints) MarshalYAML ¶
func (c Constraints) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler.
func (*Constraints) ProtoMessage ¶
func (*Constraints) ProtoMessage()
func (*Constraints) Reset ¶
func (m *Constraints) Reset()
func (*Constraints) Size ¶
func (m *Constraints) Size() (n int)
func (*Constraints) String ¶
func (m *Constraints) String() string
func (*Constraints) Unmarshal ¶
func (m *Constraints) Unmarshal(dAtA []byte) error
func (*Constraints) UnmarshalYAML ¶
func (c *Constraints) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements yaml.Unmarshaler.
type GCPolicy ¶
type GCPolicy struct { // TTLSeconds specifies the maximum age of a value before it's // garbage collected. Only older versions of values are garbage // collected. Specifying <=0 mean older versions are never GC'd. TTLSeconds int32 `protobuf:"varint,1,opt,name=ttl_seconds,json=ttlSeconds" json:"ttl_seconds"` }
GCPolicy defines garbage collection policies which apply to MVCC values within a zone.
TODO(spencer): flesh this out to include maximum number of values
as well as whether there's an intersection between max values and TTL or a union.
func (*GCPolicy) Descriptor ¶
func (*GCPolicy) ProtoMessage ¶
func (*GCPolicy) ProtoMessage()
type SystemConfig ¶
type SystemConfig struct {
Values []cockroach_roachpb1.KeyValue `protobuf:"bytes,1,rep,name=values" json:"values"`
}
func (SystemConfig) ComputeSplitKey ¶
func (s SystemConfig) ComputeSplitKey(startKey, endKey roachpb.RKey) roachpb.RKey
ComputeSplitKey takes a start and end key and returns the first key at which to split the span [start, end). Returns nil if no splits are required.
Splits are required between user tables (i.e. /table/<id>), at the start of the system-config tables (i.e. /table/0), and at certain points within the system ranges that come before the system tables. The system-config range is somewhat special in that it can contain multiple SQL tables (/table/0-/table/<max-system-config-desc>) within a single range.
func (*SystemConfig) Descriptor ¶
func (*SystemConfig) Descriptor() ([]byte, []int)
func (SystemConfig) Equal ¶
func (s SystemConfig) Equal(other SystemConfig) bool
Equal checks for equality.
It assumes that s.Values and other.Values are sorted in key order.
func (SystemConfig) GetIndex ¶
func (s SystemConfig) GetIndex(key roachpb.Key) (int, bool)
GetIndex searches the kv list for 'key' and returns its index if found.
func (SystemConfig) GetLargestObjectID ¶
func (s SystemConfig) GetLargestObjectID(maxID uint32) (uint32, error)
GetLargestObjectID returns the largest object ID found in the config which is less than or equal to maxID. If maxID is 0, returns the largest ID in the config.
func (SystemConfig) GetValue ¶
func (s SystemConfig) GetValue(key roachpb.Key) *roachpb.Value
GetValue searches the kv list for 'key' and returns its roachpb.Value if found.
func (SystemConfig) GetZoneConfigForKey ¶
func (s SystemConfig) GetZoneConfigForKey(key roachpb.RKey) (ZoneConfig, error)
GetZoneConfigForKey looks up the zone config for the range containing 'key'. It is the caller's responsibility to ensure that the range does not need to be split.
func (*SystemConfig) Marshal ¶
func (m *SystemConfig) Marshal() (dAtA []byte, err error)
func (SystemConfig) NeedsSplit ¶
func (s SystemConfig) NeedsSplit(startKey, endKey roachpb.RKey) bool
NeedsSplit returns whether the range [startKey, endKey) needs a split due to zone configs.
func (*SystemConfig) ProtoMessage ¶
func (*SystemConfig) ProtoMessage()
func (*SystemConfig) Reset ¶
func (m *SystemConfig) Reset()
func (*SystemConfig) Size ¶
func (m *SystemConfig) Size() (n int)
func (*SystemConfig) String ¶
func (m *SystemConfig) String() string
func (*SystemConfig) Unmarshal ¶
func (m *SystemConfig) Unmarshal(dAtA []byte) error
type ZoneConfig ¶
type ZoneConfig struct { // TODO(d4l3k): Remove replica_attrs after a sufficient amount of time has passed. ReplicaAttrs []cockroach_roachpb.Attributes `protobuf:"bytes,1,rep,name=replica_attrs,json=replicaAttrs" json:"replica_attrs" yaml:",omitempty"` RangeMinBytes int64 `protobuf:"varint,2,opt,name=range_min_bytes,json=rangeMinBytes" json:"range_min_bytes" yaml:"range_min_bytes"` RangeMaxBytes int64 `protobuf:"varint,3,opt,name=range_max_bytes,json=rangeMaxBytes" json:"range_max_bytes" yaml:"range_max_bytes"` // If GC policy is not set, uses the next highest, non-null policy // in the zone config hierarchy, up to the default policy if necessary. GC GCPolicy `protobuf:"bytes,4,opt,name=gc" json:"gc"` // NumReplicas specifies the desired number of replicas NumReplicas int32 `protobuf:"varint,5,opt,name=num_replicas,json=numReplicas" json:"num_replicas" yaml:"num_replicas"` // Constraints constrains which stores the replicas can be stored on. The // order in which the constraints are stored is arbitrary and may change. // https://github.com/cockroachdb/cockroach/blob/master/docs/RFCS/expressive_zone_config.md#constraint-system Constraints Constraints `protobuf:"bytes,6,opt,name=constraints" json:"constraints" yaml:"constraints,flow"` }
ZoneConfig holds configuration that is needed for a range of KV pairs. This and the conversion methods must stay in sync with ZoneConfigHuman.
func DefaultZoneConfig ¶
func DefaultZoneConfig() ZoneConfig
DefaultZoneConfig is the default zone configuration used when no custom config has been specified.
func MigrateZoneConfig ¶
func MigrateZoneConfig(value *roachpb.Value) (ZoneConfig, error)
MigrateZoneConfig migrates the legacy ZoneConfig format into the new one.
func (*ZoneConfig) Descriptor ¶
func (*ZoneConfig) Descriptor() ([]byte, []int)
func (*ZoneConfig) Marshal ¶
func (m *ZoneConfig) Marshal() (dAtA []byte, err error)
func (*ZoneConfig) ProtoMessage ¶
func (*ZoneConfig) ProtoMessage()
func (*ZoneConfig) Reset ¶
func (m *ZoneConfig) Reset()
func (*ZoneConfig) Size ¶
func (m *ZoneConfig) Size() (n int)
func (*ZoneConfig) String ¶
func (m *ZoneConfig) String() string
func (*ZoneConfig) Unmarshal ¶
func (m *ZoneConfig) Unmarshal(dAtA []byte) error
func (ZoneConfig) Validate ¶
func (z ZoneConfig) Validate() error
Validate verifies some ZoneConfig fields. This should be used to validate user input when setting a new zone config.