meta

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2025 License: Apache-2.0, MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultRetentionPolicyReplicaN is the default value of RetentionPolicyInfo.ReplicaN.
	DefaultRetentionPolicyReplicaN = 1

	// DefaultRetentionPolicyDuration is the default value of RetentionPolicyInfo.Duration.
	DefaultRetentionPolicyDuration = time.Duration(0)

	// DefaultRetentionPolicyWarmDuration is the default value of RetentionPolicyInfo.WarmDuration.
	DefaultRetentionPolicyWarmDuration = time.Duration(0)

	// DefaultRetentionPolicyName is the default name for auto generated retention policies.
	DefaultRetentionPolicyName = "autogen"

	// MinRetentionPolicyDuration represents the minimum duration for a policy.
	MinRetentionPolicyDuration = time.Hour

	// MinRetentionPolicyWarmDuration represents the minimum warm duration for a policy.
	MinRetentionPolicyWarmDuration = time.Hour

	// QueryIDSpan is the default id range span.
	QueryIDSpan = 100000000 // 100 million
)
View Source
const (
	HASH  = "hash"
	RANGE = "range"

	DATANODE      = "data"
	METANODE      = "meta"
	OPMAPLIMITCAP = 30
)
View Source
const (
	MarkDelete   int32 = 0 // this type for metricStore
	CancelDelete int32 = 1
)
View Source
const (
	NodeDefault string = "" // prioritize as writer. If no reader in cluster, NodeDeafult is both a writer and a reader.
	NodeReader  string = "reader"
	NodeWriter  string = "writer"
)
View Source
const (
	Normal uint64 = iota
	Segregating
	Segregated
)
View Source
const INITSQL = `` /* 631-byte string literal not displayed */

Variables

View Source
var (
	// ErrStoreOpen is returned when opening an already open store.
	ErrStoreOpen = errors.New("store already open")

	// ErrStoreClosed is returned when closing an already closed store.
	ErrStoreClosed = errors.New("raft store already closed")

	ErrClientInited = errors.New("aready inited")

	ErrClientClosed = errors.New("client already closed")

	ErrConflictWithIo = errors.New("conflict with io")

	ErrDBPTClose = errors.New("DBPT is being closing")
)
View Source
var (
	// ErrNodeExists is returned when creating an already existing node.
	ErrNodeExists = errors.New("node already exists")

	// ErrNodeNotFound is returned when mutating a node that doesn't exist.
	ErrNodeNotFound = errors.New("node not found")

	// ErrNodesRequired is returned when at least one node is required for an operation.
	// This occurs when creating a shard group.
	ErrNodesRequired = errors.New("at least one node required")

	// ErrNodeIDRequired is returned when using a zero node id.
	ErrNodeIDRequired = errors.New("node id must be greater than 0")

	// ErrDatabaseExists is returned when creating an already existing database.
	ErrDatabaseExists = errors.New("database already exists")

	// ErrDatabaseNotExists is returned when operating on a not existing database.
	ErrDatabaseNotExists = errors.New("database does not exist")

	// ErrDatabaseNameRequired is returned when creating a database without a name.
	ErrDatabaseNameRequired = errors.New("database name required")

	// ErrInvalidName is returned when attempting to create a database or retention policy with an invalid name
	ErrInvalidName = errors.New("invalid name")

	// ErrNodeUnableToDropFinalNode is returned if the node being dropped is the last
	// node in the cluster
	ErrNodeUnableToDropFinalNode = errors.New("unable to drop the final node in a cluster")

	ErrInvalidPtView     = errors.New("invalid ptView number")
	ErrDataViewBootStrap = errors.New("cluster is bootstrapping for initial data view")
	ErrDuplicateShardKey = errors.New("duplicate shard key")
	ErrInvalidShardKey   = errors.New("invalid shard key")
	ErrAzChange          = errors.New("AZ change is not supported.")
)
View Source
var (
	// ErrRetentionPolicyExists is returned when creating an already existing policy.
	ErrRetentionPolicyExists = errors.New("retention policy already exists")

	ErrRetentionPolicyIsBeingDelete = errors.New("retention policy is being delete")

	// ErrRetentionPolicyDefault is returned when attempting a prohibited operation
	// on a default retention policy.
	ErrRetentionPolicyDefault = errors.New("retention policy is default")

	// ErrRetentionPolicyRequired is returned when a retention policy is required
	// by an operation, but a nil policy was passed.
	ErrRetentionPolicyRequired = errors.New("retention policy required")

	// ErrRetentionPolicyNameRequired is returned when creating a policy without a name.
	ErrRetentionPolicyNameRequired = errors.New("retention policy name required")

	ErrMeasurementNameRequired = errors.New("measurement name required")

	ErrShardKeyRequired = errors.New("shard key required")

	ErrMeasurementExists = errors.New("measurement already exists")

	ErrMeasurementIsBeingDelete = errors.New("measurement is being delete")

	// ErrRetentionPolicyNameExists is returned when renaming a policy to
	// the same name as another existing policy.
	ErrRetentionPolicyNameExists = errors.New("retention policy name already exists")

	// ErrRetentionPolicyDurationTooLow is returned when updating a retention
	// policy that has a duration lower than the allowed minimum.
	ErrRetentionPolicyDurationTooLow = fmt.Errorf("retention policy duration must be at least %s", MinRetentionPolicyDuration)

	// ErrRetentionPolicyConflict is returned when creating a retention policy conflicts
	// with an existing policy.
	ErrRetentionPolicyConflict = errors.New("retention policy conflicts with an existing policy")

	ErrReplicaNConflict = errors.New("retention policy replicaN conflicts with database replicaN")

	// ErrIncompatibleDurations is returned when creating or updating a
	// retention policy that has a duration lower than the current shard
	// duration.
	ErrIncompatibleDurations = errors.New("retention policy duration must be greater than the shard duration")

	ErrIncompatibleHotDurations = errors.New("retention policy hot duration must be greater than the shard duration and lower than the duration")
	// ErrIncompatibleWarmDurations is returned when creating or updating a
	// retention policy that has a warm duration lower than the current shard duration
	// or greater than the current duration.
	ErrIncompatibleWarmDurations = errors.New("retention policy warm duration must be greater than the shard duration and lower than the duration")

	ErrIncompatibleIndexGroupDuration = errors.New("retention policy index group duration must be greater than the shard duration and lower than the duration")

	// ErrIncompatibleShardGroupDurations is returned when creating or updating a
	// retention policy that has a warm duration not equal n * shard duration
	ErrIncompatibleShardGroupDurations = errors.New("retention policy hot duration/warm duration/index duration should be equal n * shard duration and n>=1")
)
View Source
var (
	// ErrShardGroupExists is returned when creating an already existing shard group.
	ErrShardGroupExists = errors.New("shard group already exists")

	// ErrShardGroupNotFound is returned when mutating a shard group that doesn't exist.
	ErrShardGroupNotFound = errors.New("shard group not found")

	// ErrShardNotReplicated is returned if the node requested to be dropped has
	// the last copy of a shard present and the force keyword was not used
	ErrShardNotReplicated = errors.New("shard not replicated")

	ErrIndexGroupNotFound = errors.New("index group not found")

	ErrMeasurementNotFound = errno.NewError(errno.ErrMeasurementNotFound)

	ErrMeasurementsNotFound = errno.NewError(errno.ErrMeasurementsNotFound)
)
View Source
var (
	// ErrContinuousQueryExists is returned when creating an already existing continuous query.
	ErrContinuousQueryExists = errors.New("continuous query already exists")

	// ErrContinuousQueryNotFound is returned when removing/finding a continuous query that doesn't exist.
	ErrContinuousQueryNotFound = errors.New("continuous query not found")

	// ErrContinuousQueryIsBeingDelete is returned when removing/finding a continuous query that is marked as deleted.
	ErrContinuousQueryIsBeingDelete = errors.New("continuous query is being delete")

	// ErrSameContinuousQueryName is returned when creating an already existing continuous query name.
	ErrSameContinuousQueryName = errors.New("continuous query name already exists")

	// ErrContinuosQueryConflict is returned when creating an already existing continuous query.
	ErrContinuosQueryConflict = errors.New("continuous query conflicts with an existing continuous query")
)
View Source
var (
	// ErrSubscriptionExists is returned when creating an already existing subscription.
	ErrSubscriptionExists = errors.New("subscription already exists")

	// ErrSubscriptionNotFound is returned when removing a subscription that doesn't exist.
	ErrSubscriptionNotFound = errors.New("subscription not found")
)
View Source
var (
	// ErrUserExists is returned when creating an already existing GetUser.
	ErrUserExists = errors.New("user already exists")

	// ErrUserNotFound is returned when mutating a GetUser that doesn't exist.
	ErrUserNotFound = errors.New("user not found")

	// ErrUserLocked is returned when a user that is locked.
	ErrUserLocked = errors.New("user is locked")

	// ErrUserForbidden is returned when create the second admin user.
	ErrUserForbidden = errors.New("admin user is existed, forbidden to create new admin user")

	// ErrGrantAdmin is to forbidden grant or revoke privileges
	ErrGrantOrRevokeAdmin = errors.New("forbidden to grant or revoke privileges, because only one admin is allowed for the database")

	// ErrUserDropSelf is returned when delete the only admin
	ErrUserDropSelf = errors.New("forbidden to delete admin user")

	// ErrPwdUsed is returned when use an old password
	ErrPwdUsed = errors.New("the password is the same as the old one, please enter a new password")

	// ErrHashedLength is returned when hashed length err.
	ErrHashedLength         = errors.New("hashedSecret too short to be a hashed password")
	ErrMismatchedHashAndPwd = errors.New("hashedPassword is not the hash of the given password")
	ErrUnsupportedVer       = errors.New("do not support the hash version")

	// ErrUsernameRequired is returned when creating a GetUser without a username.
	ErrUsernameRequired = errors.New("username required")

	// ErrAuthenticate is returned when authentication fails.
	ErrAuthenticate = errors.New("authentication failed")

	ErrFieldTypeConflict = errors.New("field type conflict")

	ErrUnsupportCommand = errors.New("unsupported command")

	ErrCommandTimeout = errors.New("execute command timeout")

	ErrStorageNodeNotReady = errors.New("storage node has not open")
)
View Source
var ChooseRGFns []ChooseRGFn
View Source
var CreateDBRGFns []CreateDBRGFn
View Source
var DataLogger *zap.Logger
View Source
var DownSampleSupportAgg = map[string]bool{"first": true, "last": true, "min": true, "max": true, "sum": true, "count": true, "mean": true}
View Source
var MoveStateStr []string = []string{"move_init", "move_preOffload", "move_rollbackPreoffload", "move_preAssign",
	"move_rollbackPreAssign", "move_offload", "move_offloadFailed", "move_offloaded", "move_assign", "move_assignFailed",
	"move_assigned", "move_final"}
View Source
var SchemaCleanEn bool

Functions

func ApplyAlterShardKey added in v1.3.0

func ApplyAlterShardKey(data *Data, cmd *proto2.Command) error

func ApplyContinuousQueryReport added in v1.3.0

func ApplyContinuousQueryReport(data *Data, cmd *proto2.Command) error

func ApplyCreateDataNode added in v1.3.0

func ApplyCreateDataNode(data *Data, cmd *proto2.Command) error

func ApplyCreateDbPtViewCommand added in v1.3.0

func ApplyCreateDbPtViewCommand(data *Data, cmd *proto2.Command) error

func ApplyCreateDownSample added in v1.3.0

func ApplyCreateDownSample(data *Data, cmd *proto2.Command) error

func ApplyCreateMeasurement added in v1.3.0

func ApplyCreateMeasurement(data *Data, cmd *proto2.Command) error

func ApplyCreateMetaNode added in v1.3.0

func ApplyCreateMetaNode(data *Data, cmd *proto2.Command) error

func ApplyCreateRetentionPolicy added in v1.3.0

func ApplyCreateRetentionPolicy(data *Data, cmd *proto2.Command) error

func ApplyCreateShardGroup added in v1.3.0

func ApplyCreateShardGroup(data *Data, cmd *proto2.Command) error

func ApplyCreateStream added in v1.3.0

func ApplyCreateStream(data *Data, cmd *proto2.Command) error

func ApplyCreateSubscription added in v1.3.0

func ApplyCreateSubscription(data *Data, cmd *proto2.Command) error

func ApplyCreateUser added in v1.3.0

func ApplyCreateUser(data *Data, cmd *proto2.Command) error

func ApplyDeleteDataNode added in v1.3.0

func ApplyDeleteDataNode(data *Data, cmd *proto2.Command) error

func ApplyDeleteIndexGroup added in v1.3.0

func ApplyDeleteIndexGroup(data *Data, cmd *proto2.Command) error

func ApplyDeleteMetaNode added in v1.3.0

func ApplyDeleteMetaNode(data *Data, cmd *proto2.Command) error

func ApplyDeleteShardGroup added in v1.3.0

func ApplyDeleteShardGroup(data *Data, cmd *proto2.Command) error

func ApplyDropDownSample added in v1.3.0

func ApplyDropDownSample(data *Data, cmd *proto2.Command) error

func ApplyDropMeasurement added in v1.3.0

func ApplyDropMeasurement(data *Data, cmd *proto2.Command) error

func ApplyDropRetentionPolicy added in v1.3.0

func ApplyDropRetentionPolicy(data *Data, cmd *proto2.Command) error

func ApplyDropStream added in v1.3.0

func ApplyDropStream(data *Data, cmd *proto2.Command) error

func ApplyDropSubscription added in v1.3.0

func ApplyDropSubscription(data *Data, cmd *proto2.Command) error

func ApplyDropUser added in v1.3.0

func ApplyDropUser(data *Data, cmd *proto2.Command) error

func ApplyMarkDatabaseDelete added in v1.3.0

func ApplyMarkDatabaseDelete(data *Data, cmd *proto2.Command) error

func ApplyMarkMeasurementDelete added in v1.3.0

func ApplyMarkMeasurementDelete(data *Data, cmd *proto2.Command) error

func ApplyMarkRetentionPolicyDelete added in v1.3.0

func ApplyMarkRetentionPolicyDelete(data *Data, cmd *proto2.Command) error

func ApplyPruneGroups added in v1.3.0

func ApplyPruneGroups(data *Data, cmd *proto2.Command) error

func ApplyReSharding added in v1.3.0

func ApplyReSharding(data *Data, cmd *proto2.Command) error

func ApplyRegisterQueryIDOffset added in v1.3.0

func ApplyRegisterQueryIDOffset(data *Data, cmd *proto2.Command) error

func ApplyRemoveNode added in v1.3.0

func ApplyRemoveNode(data *Data, cmd *proto2.Command) error

func ApplySetAdminPrivilege added in v1.3.0

func ApplySetAdminPrivilege(data *Data, cmd *proto2.Command) error

func ApplySetDefaultRetentionPolicy added in v1.3.0

func ApplySetDefaultRetentionPolicy(data *Data, cmd *proto2.Command) error

func ApplySetMetaNode added in v1.3.0

func ApplySetMetaNode(data *Data, cmd *proto2.Command) error

func ApplySetNodeSegregateStatus added in v1.3.0

func ApplySetNodeSegregateStatus(data *Data, cmd *proto2.Command) error

func ApplySetPrivilege added in v1.3.0

func ApplySetPrivilege(data *Data, cmd *proto2.Command) error

func ApplyUpdateMeasurement added in v1.3.0

func ApplyUpdateMeasurement(data *Data, cmd *proto2.Command) error

func ApplyUpdateNodeStatus added in v1.3.0

func ApplyUpdateNodeStatus(data *Data, cmd *proto2.Command) error

func ApplyUpdatePtInfo added in v1.3.0

func ApplyUpdatePtInfo(data *Data, cmd *proto2.Command) error

func ApplyUpdatePtVersion added in v1.3.0

func ApplyUpdatePtVersion(data *Data, cmd *proto2.Command) error

func ApplyUpdateReplication added in v1.3.0

func ApplyUpdateReplication(data *Data, cmd *proto2.Command) error

func ApplyUpdateRetentionPolicy added in v1.3.0

func ApplyUpdateRetentionPolicy(data *Data, cmd *proto2.Command) error

func ApplyUpdateSchema added in v1.3.0

func ApplyUpdateSchema(data *Data, cmd *proto2.Command) error

func ApplyUpdateShardDownSampleInfo added in v1.3.0

func ApplyUpdateShardDownSampleInfo(data *Data, cmd *proto2.Command) error

func ApplyUpdateShardInfoTier added in v1.3.0

func ApplyUpdateShardInfoTier(data *Data, cmd *proto2.Command) error

func ApplyUpdateUser added in v1.3.0

func ApplyUpdateUser(data *Data, cmd *proto2.Command) error

func AzHardChooseRG added in v1.3.0

func AzHardChooseRG(data *Data, db string, newNode *DataNode, replicasN int)

choose rgId for each pt owned to newNode when create a new datanode

func AzHardCreateDBRG added in v1.3.0

func AzHardCreateDBRG(data *Data, db string, replicaN int) error

choose rgId for each newPt of a newDB when createDBPtView of createDataBase

func DecodeIndexOption

func DecodeIndexOption(pb *proto2.IndexOption) *influxql.IndexOption

func DecodeIndexRelation

func DecodeIndexRelation(pb *proto2.IndexRelation) *influxql.IndexRelation

func EncodeIndexOption

func EncodeIndexOption(o *influxql.IndexOption) *proto2.IndexOption

func EncodeIndexRelation

func EncodeIndexRelation(indexR *influxql.IndexRelation) *proto2.IndexRelation

func ErrInvalidSubscriptionURL

func ErrInvalidSubscriptionURL(url string) error

ErrInvalidSubscriptionURL is returned when the subscription's destination URL is invalid.

func ErrInvalidTierType

func ErrInvalidTierType(tier, minTier, maxTier uint64) error

func ErrRetentionPolicyNotFound

func ErrRetentionPolicyNotFound(name string) error

ErrRetentionPolicyNotFound indicates that the named retention policy could not be found in the database.

func ErrShardGroupAlreadyReSharding

func ErrShardGroupAlreadyReSharding(id uint64) error

func ErrShardingTypeNotEqual

func ErrShardingTypeNotEqual(rp, existType, inputType string) error

func GetDuration

func GetDuration(d *int64) *time.Duration

func GetInt64Duration

func GetInt64Duration(duration *time.Duration) *int64

func GetNodeDBPts

func GetNodeDBPts(pi DBPtInfos, nodeId uint64) []uint32

func HashID

func HashID(key []byte) uint64

func InitSchemaCleanEn added in v1.3.0

func InitSchemaCleanEn(schemaCleanEn bool)

func IsNodeReader

func IsNodeReader(role string) bool

func IsNodeWriter

func IsNodeWriter(role string) bool

func LoadDurationOrDefault

func LoadDurationOrDefault(duration *time.Duration, existDuration *time.Duration) *time.Duration

func MarshalObsOptions

func MarshalObsOptions(cro *obs.ObsOptions) *proto2.ObsOptions

func MarshalTime

func MarshalTime(t time.Time) int64

MarshalTime converts t to nanoseconds since epoch. A zero time returns 0.

func NewSchemaInfo

func NewSchemaInfo(tags, fields map[string]int32) []*proto2.FieldSchema

func NodeHardChooseRG added in v1.3.0

func NodeHardChooseRG(data *Data, db string, newNode *DataNode, replicasN int)

choose rgId for each pt owned to newNode when create a new datanode, or called by createDBPtView

func NodeHardCreateDBRG added in v1.3.0

func NodeHardCreateDBRG(data *Data, db string, replicaN int) error

choose rgId for each newPt of a newDB when createDBPtView of createDataBase

func SetRepDisPolicy added in v1.3.0

func SetRepDisPolicy(flag uint8)

func StringToTier

func StringToTier(tier string) uint64

func TierToString

func TierToString(tier uint64) string

func TimeReserveHigh32 added in v1.3.0

func TimeReserveHigh32(time int64) int32

func TransSplitChar

func TransSplitChar(splitChar string) string

func UnmarshalCleanSchema added in v1.3.0

func UnmarshalCleanSchema(msti *MeasurementInfo, pb *proto2.MeasurementInfo, logKeeper bool)

func UnmarshalObsOptions

func UnmarshalObsOptions(pb *proto2.ObsOptions) *obs.ObsOptions

func UnmarshalTime

func UnmarshalTime(v int64) time.Time

UnmarshalTime converts nanoseconds since epoch to time. A zero value returns a zero time.

func ValidMeasurementName

func ValidMeasurementName(name string) bool

func ValidName

func ValidName(name string) bool

ValidName checks to see if the given name can would be valid for DB/RP name

func ValidShardKey

func ValidShardKey(shardKeys []string) error

Types

type AssignState added in v1.3.0

type AssignState int
const (
	Init         AssignState = 0
	StartAssign  AssignState = 8
	AssignFailed AssignState = 9
	Assigned     AssignState = 10
	Final        AssignState = 11
)

type CardinalityInfo

type CardinalityInfo struct {
	TimeRange   TimeRangeInfo
	Cardinality uint64
}

type CardinalityInfos

type CardinalityInfos []CardinalityInfo

func (*CardinalityInfos) Len

func (cis *CardinalityInfos) Len() int

Len implements sort.Interface.

func (*CardinalityInfos) Less

func (cis *CardinalityInfos) Less(i, j int) bool

Less implements sort.Interface.

func (*CardinalityInfos) SortAndMerge

func (cis *CardinalityInfos) SortAndMerge()

func (*CardinalityInfos) Swap

func (cis *CardinalityInfos) Swap(i, j int)

Swap implements sort.Interface.

type CardinalityResponse

type CardinalityResponse struct {
	CardinalityInfos []MeasurementCardinalityInfo
	Err              error
}

func (*CardinalityResponse) Error

func (r *CardinalityResponse) Error() error

func (*CardinalityResponse) MarshalBinary

func (r *CardinalityResponse) MarshalBinary() ([]byte, error)

func (*CardinalityResponse) UnmarshalBinary

func (r *CardinalityResponse) UnmarshalBinary(buf []byte) error

type ChooseRGFn added in v1.3.0

type ChooseRGFn func(data *Data, db string, newNode *DataNode, replicasN int)

type CleanSchema added in v1.3.0

type CleanSchema map[string]SchemaVal // <name, {type, endtime}>

func NewCleanSchema added in v1.3.0

func NewCleanSchema(len int) CleanSchema

func (*CleanSchema) Clone added in v1.3.0

func (cs *CleanSchema) Clone() *CleanSchema

func (*CleanSchema) GetTyp added in v1.3.0

func (cs *CleanSchema) GetTyp(k string) (int32, bool)

func (*CleanSchema) Len added in v1.3.0

func (cs *CleanSchema) Len() int

func (*CleanSchema) Marshal added in v1.3.0

func (cs *CleanSchema) Marshal(snapshot bool, pb *proto2.MeasurementInfo)

func (*CleanSchema) NormalMarshal added in v1.3.0

func (cs *CleanSchema) NormalMarshal(pb *proto2.MeasurementInfo)

func (*CleanSchema) RangeTypCall added in v1.3.0

func (cs *CleanSchema) RangeTypCall(callback func(string, int32))

func (*CleanSchema) SetTyp added in v1.3.0

func (cs *CleanSchema) SetTyp(k string, v int32)

func (*CleanSchema) SnapshotMarshal added in v1.3.0

func (cs *CleanSchema) SnapshotMarshal(pb *proto2.MeasurementInfo)

type ColStoreInfo

type ColStoreInfo struct {
	PrimaryKey          []string
	SortKey             []string
	PropertyKey         []string
	PropertyValue       []string
	TimeClusterDuration time.Duration
	CompactionType      config.CompactionType
}

func NewColStoreInfo

func NewColStoreInfo(PrimaryKey []string, SortKey []string, Property [][]string, Duration time.Duration,
	CompactType string) *ColStoreInfo

func (*ColStoreInfo) IsBlockCompact

func (h *ColStoreInfo) IsBlockCompact() bool

func (*ColStoreInfo) Marshal

func (h *ColStoreInfo) Marshal() *proto2.ColStoreInfo

func (*ColStoreInfo) Unmarshal

func (h *ColStoreInfo) Unmarshal(pb *proto2.ColStoreInfo)

type ContinuousQueryInfo

type ContinuousQueryInfo struct {
	// Name of the continuous query to be created.
	Name string

	// String corresponding to continuous query statement
	Query string

	// Last successful run time
	LastRunTime time.Time
}

ContinuousQueryInfo represents metadata about a continuous query.

func (ContinuousQueryInfo) Clone

Clone returns a deep copy of cqi.

func (*ContinuousQueryInfo) Marshal

Marshal serializes to a protobuf representation.

func (*ContinuousQueryInfo) UpdateContinuousQueryStat

func (cqi *ContinuousQueryInfo) UpdateContinuousQueryStat(lastRun int64)

type CreateDBRGFn added in v1.3.0

type CreateDBRGFn func(data *Data, db string, replicaN int) error

type DBPtInfos

type DBPtInfos []PtInfo

type Data

type Data struct {
	Term         uint64 // associated raft term
	Index        uint64 // associated raft index
	ClusterID    uint64
	ClusterPtNum uint32 // default number is the total cpu number of 16 nodes.
	PtNumPerNode uint32
	NumOfShards  int32 // default number of shard for measurement created by `CREATE MEASUREMENT ... SHARDS AUTO`

	MetaNodes     []NodeInfo
	DataNodes     []DataNode                // data nodes
	SqlNodes      []DataNode                // sql nodes
	PtView        map[string]DBPtInfos      // PtView's key is dbname, value is PtInfo's slice.
	ReplicaGroups map[string][]ReplicaGroup // key is dbname, value is the replication group of the database

	Databases     map[string]*DatabaseInfo
	Streams       map[string]*StreamInfo
	Users         []UserInfo
	MigrateEvents map[string]*MigrateEventInfo

	// Query ID range segment allocated by all sql nodes
	QueryIDInit map[SQLHost]uint64 // {"127.0.0.1:8086": 0, "127.0.0.2:8086": 10w, "127.0.0.3:8086": 20w}, span is QueryIDSpan

	// adminUserExists provides a constant time mechanism for determining
	// if there is at least one admin GetUser.
	AdminUserExists    bool
	TakeOverEnabled    bool // set by syscontrol command
	BalancerEnabled    bool
	ExpandShardsEnable bool // set by config (not persistence)

	MaxNodeID         uint64
	MaxShardGroupID   uint64
	MaxShardID        uint64
	MaxMstID          uint64
	MaxIndexGroupID   uint64
	MaxIndexID        uint64
	MaxEventOpId      uint64
	MaxDownSampleID   uint64
	MaxStreamID       uint64
	MaxConnID         uint64
	MaxSubscriptionID uint64 // +1 for any changes to subscriptions
	MaxCQChangeID     uint64 // +1 for any changes to continuous queries

	OpsMap            map[uint64]*Op
	OpsMapMinIndex    uint64
	OpsMapMaxIndex    uint64
	OpsToMarshalIndex uint64

	SQLite *SQLiteWrapper
	// contains filtered or unexported fields
}

Data represents the top level collection of all metadata.

func (*Data) AddCmdAsOpToOpMap added in v1.3.0

func (data *Data) AddCmdAsOpToOpMap(op proto2.Command, newIndex uint64)

func (*Data) AdminUserExist

func (data *Data) AdminUserExist() bool

AdminUserExist returns true if an admin GetUser exists.

func (*Data) AlterShardKey

func (data *Data) AlterShardKey(database string, rpName string, mst string, shardKey *proto2.ShardKeyInfo) error

func (*Data) BatchUpdateContinuousQueryStat

func (data *Data) BatchUpdateContinuousQueryStat(cqStates []*proto2.CQState) error

func (*Data) CheckCanCreateDatabase

func (data *Data) CheckCanCreateDatabase(name string) error

func (*Data) CheckCanCreateRetentionPolicy

func (data *Data) CheckCanCreateRetentionPolicy(dbi *DatabaseInfo, rpi *RetentionPolicyInfo, makeDefault bool) error

func (*Data) CheckCanMoveDb

func (data *Data) CheckCanMoveDb(db string) error

func (*Data) CheckDataNodeAlive

func (data *Data) CheckDataNodeAlive(nodeId uint64) error

func (*Data) CheckStreamExistInDatabase

func (data *Data) CheckStreamExistInDatabase(database string) error

func (*Data) CheckStreamExistInMst

func (data *Data) CheckStreamExistInMst(database, rp, mst string) error

func (*Data) CheckStreamExistInRetention

func (data *Data) CheckStreamExistInRetention(database, rp string) error

func (*Data) ClearOpsMapV2 added in v1.3.0

func (data *Data) ClearOpsMapV2(minAliveNodeTmpIndex uint64)

func (*Data) Clone

func (data *Data) Clone() *Data

Clone returns a copy of data with a new version.

func (*Data) CloneDBPtView

func (data *Data) CloneDBPtView() map[string]DBPtInfos

CloneDatabases returns a copy of the DatabaseInfo.

func (*Data) CloneDataNodes

func (data *Data) CloneDataNodes() []DataNode

CloneDataNodes returns a copy of the NodeInfo.

func (*Data) CloneDatabases

func (data *Data) CloneDatabases() map[string]*DatabaseInfo

CloneDatabases returns a copy of the DatabaseInfo.

func (*Data) CloneMetaNodes

func (data *Data) CloneMetaNodes() []NodeInfo

CloneMetaNodes returns a copy of the NodeInfo.

func (*Data) CloneMigrateEvents

func (data *Data) CloneMigrateEvents() map[string]*MigrateEventInfo

func (*Data) CloneQueryIDInit

func (data *Data) CloneQueryIDInit() map[SQLHost]uint64

func (*Data) CloneSqlNodes added in v1.3.0

func (data *Data) CloneSqlNodes() []DataNode

CloneSqlNodes returns a copy of the NodeInfo.

func (*Data) CloneStreams

func (data *Data) CloneStreams() map[string]*StreamInfo

func (*Data) CloneUsers

func (data *Data) CloneUsers() []UserInfo

CloneUsers returns a copy of the GetUser infos.

func (*Data) ClusterChangeState

func (data *Data) ClusterChangeState(nodeID uint64, newState serf.MemberStatus) bool

Change data node state and Data nodes view version.

func (*Data) CreateContinuousQuery

func (data *Data) CreateContinuousQuery(dbName, cqName, cqQuery string) error

func (*Data) CreateContinuousQueryBase added in v1.3.0

func (data *Data) CreateContinuousQueryBase(dbName, cqName, cqQuery string) (bool, error)

func (*Data) CreateDBPtView

func (data *Data) CreateDBPtView(name string) (bool, error)

func (*Data) CreateDBReplication added in v1.3.0

func (data *Data) CreateDBReplication(db string, replicaN uint32) error

func (*Data) CreateDataNode

func (data *Data) CreateDataNode(host, tcpHost, role, az string) (uint64, error)

CreateDataNode adds a node to the metadata.

func (*Data) CreateDatabase

func (data *Data) CreateDatabase(dbName string, rpi *RetentionPolicyInfo, shardKey *proto2.ShardKeyInfo, enableTagArray bool, replicaN uint32,
	options *proto2.ObsOptions) error

CreateDatabase creates a new database. It returns an error if name is blank or if a database with the same name already exists.

func (*Data) CreateDownSamplePolicy

func (data *Data) CreateDownSamplePolicy(database, rpName string, info *DownSamplePolicyInfo) error

func (*Data) CreateIndexGroup

func (data *Data) CreateIndexGroup(rpi *RetentionPolicyInfo, timestamp time.Time, engineType config.EngineType, ptNum uint32) *IndexGroupInfo

func (*Data) CreateMeasurement

func (data *Data) CreateMeasurement(database string, rpName string, mst string,
	shardKey *proto2.ShardKeyInfo, numOfShards int32, indexR *proto2.IndexRelation, engineType config.EngineType,
	colStoreInfo *proto2.ColStoreInfo, schemaInfo []*proto2.FieldSchema, options *proto2.Options) error

func (*Data) CreateMetaNode

func (data *Data) CreateMetaNode(httpAddr, rpcAddr, tcpAddr string) error

CreateMetaNode will add a new meta node to the metastore

func (*Data) CreateMigrateEvent

func (data *Data) CreateMigrateEvent(e *proto2.MigrateEventInfo) error

func (*Data) CreateRetentionPolicy

func (data *Data) CreateRetentionPolicy(dbName string, rpi *RetentionPolicyInfo, makeDefault bool) error

func (*Data) CreateShardGroup

func (data *Data) CreateShardGroup(database, policy string, timestamp time.Time, tier uint64, engineType config.EngineType, version uint32) error

CreateShardGroup creates a shard group on a database and policy for a given timestamp.

func (*Data) CreateShardGroupWithBounds

func (data *Data) CreateShardGroupWithBounds(db string, rp *RetentionPolicyInfo, startTime time.Time, bounds []string, engineType config.EngineType) error

func (*Data) CreateSqlNode added in v1.3.0

func (data *Data) CreateSqlNode(httpHost string, gossipAddr string) (uint64, error)

func (*Data) CreateStream

func (data *Data) CreateStream(info *StreamInfo) error

func (*Data) CreateSubscription

func (data *Data) CreateSubscription(database, rp, name, mode string, destinations []string) error

CreateSubscription adds a named subscription to a database and retention policy.

func (*Data) CreateUser

func (data *Data) CreateUser(name, hash string, admin, rwuser bool) error

CreateUser creates a new GetUser.

func (*Data) DBPtView

func (data *Data) DBPtView(name string) DBPtInfos

Database returns PtInfo by the database name.

func (*Data) DBRepGroups

func (data *Data) DBRepGroups(name string) []ReplicaGroup

func (*Data) DBReplicaN

func (data *Data) DBReplicaN(db string) int

func (*Data) DataNode

func (data *Data) DataNode(id uint64) *DataNode

DataNode returns a node by id.

func (*Data) DataNodeAlive added in v1.3.0

func (data *Data) DataNodeAlive(id uint64) bool

func (*Data) DataNodeByHttpHost

func (data *Data) DataNodeByHttpHost(httpAddr string) *DataNode

func (*Data) DataNodeByIp

func (data *Data) DataNodeByIp(nodeIp string) *DataNode

DataNode returns a node by id.

func (*Data) DataNodeIDs

func (data *Data) DataNodeIDs() []int

func (*Data) Database

func (data *Data) Database(name string) *DatabaseInfo

func (*Data) DeleteDataNode

func (data *Data) DeleteDataNode(id uint64) error

func (*Data) DeleteIndexGroup

func (data *Data) DeleteIndexGroup(database, policy string, id uint64) error

func (*Data) DeleteMetaNode

func (data *Data) DeleteMetaNode(id uint64) error

DeleteMetaNode will remove the meta node from the store

func (*Data) DeleteShardGroup

func (data *Data) DeleteShardGroup(database, policy string, id uint64, deletedAt int64, deleteType int32) error

DeleteShardGroup removes a shard group from a database and retention policy by id.

func (*Data) DropContinuousQuery

func (data *Data) DropContinuousQuery(cqName string, database string) (bool, error)

func (*Data) DropContinuousQueryBase added in v1.3.0

func (data *Data) DropContinuousQueryBase(cqName string, database string) (bool, error)

DropContinuousQuery drops one continuous query and notify ALL sql nodes that CQ has been changed.

func (*Data) DropDatabase

func (data *Data) DropDatabase(name string)

DropDatabase removes a database by name. It does not return an error if the database cannot be found.

func (*Data) DropDownSamplePolicy

func (data *Data) DropDownSamplePolicy(database, rpName string, dropAll bool)

func (*Data) DropMeasurement

func (data *Data) DropMeasurement(database, policy, nameWithVer string) error

func (*Data) DropRetentionPolicy

func (data *Data) DropRetentionPolicy(database, name string) error

DropRetentionPolicy removes a retention policy from a database by name.

func (*Data) DropShard

func (data *Data) DropShard(id uint64)

DropShard removes a shard by ID.

DropShard won't return an error if the shard can't be found, which allows the command to be re-run in the case that the meta store succeeds but a data node fails.

func (*Data) DropStream

func (data *Data) DropStream(name string) error

func (*Data) DropSubscription

func (data *Data) DropSubscription(database, rp, name string) error

DropSubscription removes a subscription.

func (*Data) DropUser

func (data *Data) DropUser(name string) error

DropUser removes an existing GetUser by name.

func (*Data) DurationInfos

func (data *Data) DurationInfos(dbPtIds map[string][]uint32) *ShardDurationResponse

func (*Data) ExpandGroups

func (data *Data) ExpandGroups()

func (*Data) GetAliveDataNodeNum

func (data *Data) GetAliveDataNodeNum() int

func (*Data) GetAliveWriteNode

func (data *Data) GetAliveWriteNode() []DataNode

func (*Data) GetAllNodeSegregateStatus

func (data *Data) GetAllNodeSegregateStatus() []uint64

func (*Data) GetClusterPtNum

func (data *Data) GetClusterPtNum() uint32

func (*Data) GetDBBriefInfo

func (data *Data) GetDBBriefInfo(name string) *DatabaseBriefInfo

func (*Data) GetDatabase

func (data *Data) GetDatabase(name string) (*DatabaseInfo, error)

func (*Data) GetDbPtOwners

func (data *Data) GetDbPtOwners(database string, ptIds []uint32) []uint64

func (*Data) GetFailedPtInfos

func (data *Data) GetFailedPtInfos(id uint64, status PtStatus) []*DbPtInfo

func (*Data) GetMeasurementID added in v1.3.0

func (data *Data) GetMeasurementID(database, retentionPolicy, mst string) (uint64, error)

func (*Data) GetMinAliveNodeTmpIndex added in v1.3.0

func (data *Data) GetMinAliveNodeTmpIndex() uint64

func (*Data) GetNewRg added in v1.3.0

func (data *Data) GetNewRg(db string, rgId uint32, newMasterPtId uint32) (uint32, []Peer, error)

func (*Data) GetNextOp added in v1.3.0

func (data *Data) GetNextOp(index uint64) ([]byte, uint64, error)

func (*Data) GetNodeIDs

func (data *Data) GetNodeIDs() []uint64

func (*Data) GetNodeIdsByNodeLst

func (data *Data) GetNodeIdsByNodeLst(nodeLst []string) ([]uint64, []string, error)

func (*Data) GetNodeIndex

func (data *Data) GetNodeIndex(nodeId uint64) (uint64, error)

func (*Data) GetNodeIndexV2 added in v1.3.0

func (data *Data) GetNodeIndexV2(nodeId uint64) (uint64, error)

func (*Data) GetNodeSegregateStatus

func (data *Data) GetNodeSegregateStatus(nodeIds []uint64) ([]uint64, error)

func (*Data) GetOps added in v1.3.0

func (data *Data) GetOps(oldIndex uint64) ([]string, GetOpsState)

func (*Data) GetOpsFromStartOp added in v1.3.0

func (data *Data) GetOpsFromStartOp(startOpIndex uint64, ops *[]string) ([]string, GetOpsState)

func (*Data) GetPtInfo

func (data *Data) GetPtInfo(name string, ptID uint32) *PtInfo

func (*Data) GetPtInfosByDbname

func (data *Data) GetPtInfosByDbname(name string, enableTagArray bool, replicasN uint32) ([]*DbPtInfo, error)

func (*Data) GetPtInfosByNodeId

func (data *Data) GetPtInfosByNodeId(id uint64) []*DbPtInfo

func (*Data) GetRGOfPtFast added in v1.3.0

func (data *Data) GetRGOfPtFast(rgId uint32, database string) *ReplicaGroup

func (*Data) GetReplicaGroup

func (data *Data) GetReplicaGroup(db string, groupID uint32) *ReplicaGroup

func (*Data) GetReplicaN added in v1.3.0

func (data *Data) GetReplicaN(db string) (int, bool)

func (*Data) GetSegregateStatusByNodeId

func (data *Data) GetSegregateStatusByNodeId(nodeId uint64) uint64

func (*Data) GetShardDurationsByDbPt

func (data *Data) GetShardDurationsByDbPt(db string, pt uint32) map[uint64]*ShardDurationInfo

func (*Data) GetShardDurationsByDbPtForRetention added in v1.3.0

func (data *Data) GetShardDurationsByDbPtForRetention(db string, pt uint32) map[uint64]*ShardDurationInfo

GetShardDurationsByDbPtForRetention is used to transfer shards that are not marked for deletion and delete them from the retention.

func (*Data) GetSqlNodeIndex added in v1.3.0

func (data *Data) GetSqlNodeIndex(nodeId uint64) (uint64, error)

func (*Data) GetTierOfShardGroup

func (data *Data) GetTierOfShardGroup(database, policy string, timestamp time.Time, defaultTier uint64, engineType config.EngineType) (*ShardGroupInfo, uint64, error)

func (*Data) GetUser

func (data *Data) GetUser(username string) *UserInfo

func (*Data) GetWriteNode

func (data *Data) GetWriteNode() []DataNode

func (*Data) GetWriteNodeNum

func (data *Data) GetWriteNodeNum() uint32

func (*Data) HasAdminUser

func (data *Data) HasAdminUser() bool

HasAdminUser exhaustively checks for the presence of at least one admin GetUser.

func (*Data) ImportData

func (data *Data) ImportData(other Data, backupDBName, restoreDBName, backupRPName, restoreRPName string) (map[uint64]uint64, []string, error)

ImportData imports selected data into the current metadata. if non-empty, backupDBName, restoreDBName, backupRPName, restoreRPName can be used to select DB metadata from other, and to assign a new name to the imported data. Returns a map of shard ID's in the old metadata to new shard ID's in the new metadata, along with a list of new databases created, both of which can assist in the import of existing shard data during a database restore.

func (*Data) MarkBalancer

func (data *Data) MarkBalancer(enable bool)

func (*Data) MarkDatabaseDelete

func (data *Data) MarkDatabaseDelete(name string) error

func (*Data) MarkMeasurementDelete

func (data *Data) MarkMeasurementDelete(database, policy, measurement string) error

func (*Data) MarkRetentionPolicyDelete

func (data *Data) MarkRetentionPolicyDelete(database, name string) error

func (*Data) MarkTakeover

func (data *Data) MarkTakeover(enable bool)

func (*Data) Marshal

func (data *Data) Marshal(snapshot bool) *proto2.Data

Marshal serializes data to a protobuf representation.

func (*Data) MarshalBase added in v1.3.0

func (data *Data) MarshalBase(snapshot bool) *proto2.Data

func (*Data) MarshalBinary

func (data *Data) MarshalBinary() ([]byte, error)

MarshalBinary encodes the metadata to a binary format.

func (*Data) MarshalBinaryUser

func (data *Data) MarshalBinaryUser() ([]byte, error)

MarshalBinary encodes the metadata to a binary format.

func (*Data) MarshalUsers

func (data *Data) MarshalUsers() *proto2.Data

Marshal serializes data to a protobuf representation.

func (*Data) MarshalV2 added in v1.3.0

func (data *Data) MarshalV2() *proto2.Data

func (*Data) Measurement

func (data *Data) Measurement(database, retentionPolicy, mst string) (*MeasurementInfo, error)

func (*Data) Measurements

func (data *Data) Measurements(database, retentionPolicy string) (*MeasurementsInfo, error)

func (*Data) NewestShardGroup

func (data *Data) NewestShardGroup(database, retentionPolicy string) (sg *ShardGroupInfo)

func (*Data) PruneGroups

func (data *Data) PruneGroups(shardGroup bool, id uint64) error

func (*Data) ReSharding

func (data *Data) ReSharding(info *ReShardingInfo) error

func (*Data) RegisterQueryIDOffset

func (data *Data) RegisterQueryIDOffset(host SQLHost) error

RegisterQueryIDOffset register the mapping relationship between its host and query id offset for ts-sql

func (*Data) RemoveEventInfo

func (data *Data) RemoveEventInfo(eventId string) error

func (*Data) RemoveNode

func (data *Data) RemoveNode(nodeIds []uint64)

func (*Data) RetentionPolicy

func (data *Data) RetentionPolicy(database, name string) (*RetentionPolicyInfo, error)

RetentionPolicy returns a retention policy for a database by name.

func (*Data) SchemaClean added in v1.3.0

func (data *Data) SchemaClean(rp *RetentionPolicyInfo, sgEndTime int64)

func (*Data) SetAdminPrivilege

func (data *Data) SetAdminPrivilege(name string, admin bool) error

SetAdminPrivilege sets the admin privilege for a GetUser.

func (*Data) SetClusterPtNum

func (data *Data) SetClusterPtNum(ptNum uint32)

func (*Data) SetDataNode

func (data *Data) SetDataNode(nodeID uint64, host, tcpHost string) error

setDataNode adds a data node with a pre-specified nodeID. this should only be used when the cluster is upgrading from 0.9 to 0.10

func (*Data) SetDataNodeIndex added in v1.3.0

func (data *Data) SetDataNodeIndex(nodeId uint64, newIndex uint64) error

func (*Data) SetDatabase

func (data *Data) SetDatabase(dbi *DatabaseInfo) error

func (*Data) SetDefaultRetentionPolicy

func (data *Data) SetDefaultRetentionPolicy(database, name string) error

SetDefaultRetentionPolicy sets the default retention policy for a database.

func (*Data) SetMetaNode

func (data *Data) SetMetaNode(httpAddr, rpcAddr, tcpAddr string) error

SetMetaNode will update the information for the single meta node or create a new metanode. If there are more than 1 meta nodes already, an error will be returned

func (*Data) SetOps added in v1.3.0

func (data *Data) SetOps(o *Data)

func (*Data) SetPrivilege

func (data *Data) SetPrivilege(name, database string, p originql.Privilege) error

SetPrivilege sets a privilege for a GetUser on a database.

func (*Data) SetRetentionPolicy

func (data *Data) SetRetentionPolicy(dbi *DatabaseInfo, rpi *RetentionPolicyInfo, makeDefault bool)

func (*Data) SetSegregateNodeStatus

func (data *Data) SetSegregateNodeStatus(status []uint64, nodeIds []uint64)

func (*Data) SetSqlNodeIndex added in v1.3.0

func (data *Data) SetSqlNodeIndex(nodeId uint64, newIndex uint64) error

func (*Data) SetStream

func (data *Data) SetStream(info *StreamInfo) error

func (*Data) ShardGroupByTimestampAndEngineType

func (data *Data) ShardGroupByTimestampAndEngineType(database, policy string, timestamp time.Time, engineType config.EngineType) (*ShardGroupInfo, error)

ShardGroupByTimestampAndEngineType returns the shard group on a database and policy for a given timestamp and engine type.

func (*Data) ShardGroups

func (data *Data) ShardGroups(database, policy string) ([]ShardGroupInfo, error)

ShardGroups returns a list of all shard groups on a database and retention policy.

func (*Data) ShardGroupsByTimeRange

func (data *Data) ShardGroupsByTimeRange(database, policy string, tmin, tmax time.Time) ([]ShardGroupInfo, error)

ShardGroupsByTimeRange returns a list of all shard groups on a database and policy that may contain data for the specified time range. Shard groups are sorted by start time.

func (*Data) ShowCluster

func (data *Data) ShowCluster(nodeType string, ID uint64) (*ShowClusterInfo, error)

func (*Data) ShowContinuousQueries

func (data *Data) ShowContinuousQueries() (models.Rows, error)

ShowContinuousQueries shows all continuous queries group by db.

func (*Data) ShowDownSamplePolicies

func (data *Data) ShowDownSamplePolicies(database string) (models.Rows, error)

func (*Data) ShowRetentionPolicies

func (data *Data) ShowRetentionPolicies(database string) (models.Rows, error)

func (*Data) ShowShardGroups

func (data *Data) ShowShardGroups() models.Rows

func (*Data) ShowShards

func (data *Data) ShowShards() models.Rows

func (*Data) ShowShardsFromMst added in v1.3.0

func (data *Data) ShowShardsFromMst(db string, rp string, mst string) models.Rows

func (*Data) ShowStreams

func (data *Data) ShowStreams(database string, showAll bool) (models.Rows, error)

func (*Data) ShowSubscriptions

func (data *Data) ShowSubscriptions() models.Rows

func (*Data) SqlNode added in v1.3.0

func (data *Data) SqlNode(id uint64) *DataNode

SqlNode returns a sql node by id.

func (*Data) SqlNodeByHttpHost added in v1.3.0

func (data *Data) SqlNodeByHttpHost(httpAddr string) *DataNode

func (*Data) Unmarshal

func (data *Data) Unmarshal(pb *proto2.Data)

unmarshal deserializes from a protobuf representation.

func (*Data) UnmarshalBinary

func (data *Data) UnmarshalBinary(buf []byte) error

UnmarshalBinary decodes the object from a binary format.

func (*Data) UpdateMeasurement

func (data *Data) UpdateMeasurement(db, rp, mst string, options *proto2.Options) error

func (*Data) UpdateMigrateEvent

func (data *Data) UpdateMigrateEvent(e *proto2.MigrateEventInfo) error

func (*Data) UpdateNodeStatus

func (data *Data) UpdateNodeStatus(id uint64, status int32, lTime uint64, gossipPort string) error

func (*Data) UpdateNodeTmpIndex added in v1.3.0

func (data *Data) UpdateNodeTmpIndex(role int32, index uint64, nodeID uint64) error

func (*Data) UpdateOpsMapCacheBytes added in v1.3.0

func (data *Data) UpdateOpsMapCacheBytes() error

func (*Data) UpdatePtInfo

func (data *Data) UpdatePtInfo(db string, info *proto2.PtInfo, ownerId uint64, status uint32) error

func (*Data) UpdatePtVersion

func (data *Data) UpdatePtVersion(db string, ptId uint32) error

func (*Data) UpdateReplication

func (data *Data) UpdateReplication(database string, rgId, masterId uint32, peers []*proto2.Peer) error

when masterPtId is offline, elect a new masterPtId

func (*Data) UpdateRetentionPolicy

func (data *Data) UpdateRetentionPolicy(database, name string, rpu *RetentionPolicyUpdate, makeDefault bool) error

UpdateRetentionPolicy updates an existing retention policy.

func (*Data) UpdateSchema

func (data *Data) UpdateSchema(database string, retentionPolicy string, mst string, fieldToCreate []*proto2.FieldSchema) error

func (*Data) UpdateShardDownSampleInfo

func (data *Data) UpdateShardDownSampleInfo(ident *ShardIdentifier) error

func (*Data) UpdateShardInfoTier

func (data *Data) UpdateShardInfoTier(shardID uint64, shardTier uint64, dbName, rpName string) error

func (*Data) UpdateSqlNodeStatus added in v1.3.0

func (data *Data) UpdateSqlNodeStatus(id uint64, status int32, lTime uint64, gossipPort string) error

func (*Data) UpdateUser

func (data *Data) UpdateUser(name, hash string) error

UpdateUser updates the password hash of an existing GetUser.

func (*Data) User

func (data *Data) User(username string) User

User returns a GetUser by username.

func (*Data) UserPrivilege

func (data *Data) UserPrivilege(name, database string) (*originql.Privilege, error)

UserPrivilege gets the privilege for a GetUser on a database.

func (*Data) UserPrivileges

func (data *Data) UserPrivileges(name string) (map[string]originql.Privilege, error)

UserPrivileges gets the privileges for a GetUser.

func (*Data) WalkDataNodes

func (data *Data) WalkDataNodes(fn func(node *DataNode))

func (*Data) WalkDatabases

func (data *Data) WalkDatabases(fn func(db *DatabaseInfo))

func (*Data) WalkDatabasesOrderly

func (data *Data) WalkDatabasesOrderly(fn func(db *DatabaseInfo))

func (*Data) WalkMetaNodes

func (data *Data) WalkMetaNodes(fn func(node *NodeInfo))

func (*Data) WalkMigrateEvents added in v1.3.0

func (data *Data) WalkMigrateEvents(fn func(eventId string, info *MigrateEventInfo))

type DataNode

type DataNode struct {
	NodeInfo
	ConnID      uint64 // after joined raft cluster. ConnID will +1 when restart
	AliveConnID uint64 // after joined gossip cluster, AliveConnID will set by ConnID
	Index       uint64
	Az          string
}

func (*DataNode) MarshalBinary

func (n *DataNode) MarshalBinary() ([]byte, error)

func (*DataNode) UnmarshalBinary

func (n *DataNode) UnmarshalBinary(buf []byte) error

type DataNodeInfos

type DataNodeInfos []DataNode

NodeInfos is a slice of NodeInfo used for sorting

func (DataNodeInfos) Len

func (n DataNodeInfos) Len() int

Len implements sort.Interface.

func (DataNodeInfos) Less

func (n DataNodeInfos) Less(i, j int) bool

Less implements sort.Interface.

func (DataNodeInfos) Swap

func (n DataNodeInfos) Swap(i, j int)

Swap implements sort.Interface.

type DataOps added in v1.3.0

type DataOps struct {
	MaxCQChangeID uint64 // Snapshot static part: only MaxCQChangeID
	// contains filtered or unexported fields
}

Metadata snapshot when incremental synchronization is used

func NewDataOps added in v1.3.0

func NewDataOps(ops []string, MaxCQChangeID uint64, state int, index uint64) *DataOps

func NewDataOpsOfAllClear added in v1.3.0

func NewDataOpsOfAllClear(state int, data *proto2.Data, index uint64) *DataOps

func (*DataOps) GetData added in v1.3.0

func (dps *DataOps) GetData() *proto2.Data

func (*DataOps) GetIndex added in v1.3.0

func (dps *DataOps) GetIndex() uint64

func (*DataOps) GetOps added in v1.3.0

func (dps *DataOps) GetOps() []string

func (*DataOps) GetState added in v1.3.0

func (dps *DataOps) GetState() int

func (*DataOps) Len added in v1.3.0

func (dps *DataOps) Len() int

func (*DataOps) Marshal added in v1.3.0

func (dps *DataOps) Marshal() []byte

func (*DataOps) Unmarshal added in v1.3.0

func (dps *DataOps) Unmarshal(pb *proto2.DataOps)

func (*DataOps) UnmarshalBinary added in v1.3.0

func (dps *DataOps) UnmarshalBinary(buf []byte) error

type DatabaseBriefInfo

type DatabaseBriefInfo struct {
	Name           string
	EnableTagArray bool
	Replicas       int // only use in ts-meta
}

func (*DatabaseBriefInfo) Marshal

func (di *DatabaseBriefInfo) Marshal() ([]byte, error)

type DatabaseInfo

type DatabaseInfo struct {
	Name                   string
	DefaultRetentionPolicy string
	RetentionPolicies      map[string]*RetentionPolicyInfo
	MarkDeleted            bool
	ShardKey               ShardKeyInfo
	EnableTagArray         bool
	ReplicaN               int
	ContinuousQueries      map[string]*ContinuousQueryInfo // {"cqName": *ContinuousQueryInfo}
	Options                *obs.ObsOptions
}

DatabaseInfo represents information about a database in the system.

func NewDatabase

func NewDatabase(name string) *DatabaseInfo

func (*DatabaseInfo) GetRetentionPolicy

func (di *DatabaseInfo) GetRetentionPolicy(name string) (*RetentionPolicyInfo, error)

func (*DatabaseInfo) RetentionPolicy

func (di *DatabaseInfo) RetentionPolicy(name string) *RetentionPolicyInfo

RetentionPolicy returns a retention policy by name.

func (DatabaseInfo) ShardInfos

func (di DatabaseInfo) ShardInfos() []ShardInfo

ShardInfos returns a list of all shards' info for the database.

func (*DatabaseInfo) WalkContinuousQuery

func (di *DatabaseInfo) WalkContinuousQuery(fn func(cq *ContinuousQueryInfo))

func (*DatabaseInfo) WalkRetentionPolicy

func (di *DatabaseInfo) WalkRetentionPolicy(fn func(rp *RetentionPolicyInfo))

func (*DatabaseInfo) WalkRetentionPolicyOrderly

func (di *DatabaseInfo) WalkRetentionPolicyOrderly(fn func(rp *RetentionPolicyInfo))

type DbPtInfo

type DbPtInfo struct {
	Db          string
	Pti         *PtInfo
	Shards      map[uint64]*ShardDurationInfo
	DBBriefInfo *DatabaseBriefInfo
}

func (*DbPtInfo) Marshal

func (pt *DbPtInfo) Marshal() *proto2.DbPt

func (*DbPtInfo) String

func (pt *DbPtInfo) String() string

func (*DbPtInfo) Unmarshal

func (pt *DbPtInfo) Unmarshal(pb *proto2.DbPt)

type DownSampleOperators

type DownSampleOperators struct {
	AggOps   []string
	DataType int64
}

func NewDownSampleOperators

func NewDownSampleOperators(c *influxql.Call) (*DownSampleOperators, error)

func (*DownSampleOperators) Equal

func (*DownSampleOperators) RewriteOp

func (d *DownSampleOperators) RewriteOp() []string

func (*DownSampleOperators) String

func (d *DownSampleOperators) String() string

type DownSamplePoliciesInfoWithDbRp

type DownSamplePoliciesInfoWithDbRp struct {
	Infos []*DownSamplePolicyInfoWithDbRp
}

func (*DownSamplePoliciesInfoWithDbRp) Marshal

func (*DownSamplePoliciesInfoWithDbRp) MarshalBinary

func (d *DownSamplePoliciesInfoWithDbRp) MarshalBinary() ([]byte, error)

func (*DownSamplePoliciesInfoWithDbRp) Unmarshal

func (*DownSamplePoliciesInfoWithDbRp) UnmarshalBinary

func (d *DownSamplePoliciesInfoWithDbRp) UnmarshalBinary(buf []byte) error

type DownSamplePolicy

type DownSamplePolicy struct {
	SampleInterval time.Duration
	TimeInterval   time.Duration
	WaterMark      time.Duration
}

func NewDownSamplePolicy

func NewDownSamplePolicy(sampleInterval time.Duration, timeInterval time.Duration) *DownSamplePolicy

func (*DownSamplePolicy) Equal

func (d *DownSamplePolicy) Equal(dp *DownSamplePolicy) bool

type DownSamplePolicyInfo

type DownSamplePolicyInfo struct {
	TaskID             uint64
	Calls              []*DownSampleOperators
	DownSamplePolicies []*DownSamplePolicy
	Duration           time.Duration
}

func NewDownSamplePolicyInfo

func NewDownSamplePolicyInfo(Ops influxql.Fields, duration time.Duration, sampleIntervals []time.Duration, timeIntervals []time.Duration,
	waterMarks []time.Duration, rpi *RetentionPolicyInfo) (*DownSamplePolicyInfo, error)

func (*DownSamplePolicyInfo) Calls2String

func (d *DownSamplePolicyInfo) Calls2String() string

func (*DownSamplePolicyInfo) Check

func (*DownSamplePolicyInfo) Equal

func (d *DownSamplePolicyInfo) Equal(info *DownSamplePolicyInfo, checkID bool) bool

func (*DownSamplePolicyInfo) GetCalls

func (d *DownSamplePolicyInfo) GetCalls() map[int64][]string

func (*DownSamplePolicyInfo) GetTypes

func (d *DownSamplePolicyInfo) GetTypes() []int64

func (*DownSamplePolicyInfo) IsNil

func (d *DownSamplePolicyInfo) IsNil() bool

func (*DownSamplePolicyInfo) Marshal

func (*DownSamplePolicyInfo) MarshalBinary

func (d *DownSamplePolicyInfo) MarshalBinary() ([]byte, error)

func (*DownSamplePolicyInfo) SampleInterval2String

func (d *DownSamplePolicyInfo) SampleInterval2String() string

func (*DownSamplePolicyInfo) TimeInterval2String

func (d *DownSamplePolicyInfo) TimeInterval2String() string

func (*DownSamplePolicyInfo) Unmarshal

func (*DownSamplePolicyInfo) UnmarshalBinary

func (d *DownSamplePolicyInfo) UnmarshalBinary(buf []byte) error

func (*DownSamplePolicyInfo) WaterMark2String

func (d *DownSamplePolicyInfo) WaterMark2String() string

type DownSamplePolicyInfoWithDbRp

type DownSamplePolicyInfoWithDbRp struct {
	Info   *DownSamplePolicyInfo
	DbName string
	RpName string
}

func (*DownSamplePolicyInfoWithDbRp) Marshal

func (*DownSamplePolicyInfoWithDbRp) Unmarshal

type DurationDescriptor

type DurationDescriptor struct {
	Tier         uint64
	TierDuration time.Duration
	Duration     time.Duration
}

type ErrAuthorize

type ErrAuthorize struct {
	Query    *influxql.Query
	User     string
	Database string
	Message  string
}

ErrAuthorize represents an authorization error.

func (ErrAuthorize) Error

func (e ErrAuthorize) Error() string

Error returns the text of the error.

type EventRow added in v1.3.0

type EventRow struct {
	OpId      uint64
	EventType string
	Db        string
	PtId      uint32
	SrcNodeId uint64
	DstNodeId uint64
	CurrState string
	PreState  string
}

type EventType added in v1.3.0

type EventType int
const (
	AssignType EventType = iota
	OffloadType
	MoveType
)

type ExpiredIndexInfos added in v1.3.0

type ExpiredIndexInfos struct {
	Database     string
	Policy       string
	IndexGroupID uint64
	IndexIDs     []uint64
}

type ExpiredShardInfos added in v1.3.0

type ExpiredShardInfos struct {
	Database     string
	Policy       string
	ShardGroupId uint64
	ShardIds     []uint64
	ShardPaths   []string
	ObsOpts      *obs.ObsOptions
}

type FileInfo added in v1.3.0

type FileInfo struct {
	Sequence      uint64
	Level         uint16
	Merge         uint16
	Extent        uint16
	MstID         uint64
	ShardID       uint64
	DeletedAt     int64
	CreatedAt     int64
	MinTime       int64
	MaxTime       int64
	RowCount      int64
	FileSizeBytes int64
}

func (*FileInfo) Marshal added in v1.3.0

func (fileInfo *FileInfo) Marshal() *proto2.FileInfo

func (*FileInfo) Unmarshal added in v1.3.0

func (fileInfo *FileInfo) Unmarshal(fileInfoProto *proto2.FileInfo)

type GetOpsState added in v1.3.0

type GetOpsState int
const (
	AllClear GetOpsState = iota
	NoClear
)

type IndexDescriptor

type IndexDescriptor struct {
	IndexID      uint64
	IndexGroupID uint64
	TimeRange    TimeRangeInfo
}

type IndexGroupInfo

type IndexGroupInfo struct {
	ID         uint64
	StartTime  time.Time
	EndTime    time.Time
	Indexes    []IndexInfo
	DeletedAt  time.Time
	EngineType config.EngineType
}

func (*IndexGroupInfo) Contains

func (igi *IndexGroupInfo) Contains(t time.Time) bool

func (*IndexGroupInfo) Deleted

func (igi *IndexGroupInfo) Deleted() bool

func (*IndexGroupInfo) Overlaps

func (igi *IndexGroupInfo) Overlaps(min, max time.Time) bool

type IndexGroupInfos

type IndexGroupInfos []IndexGroupInfo

func (IndexGroupInfos) Len

func (igs IndexGroupInfos) Len() int

func (IndexGroupInfos) Less

func (igs IndexGroupInfos) Less(i, j int) bool

func (IndexGroupInfos) Swap

func (igs IndexGroupInfos) Swap(i, j int)

type IndexIdentifier

type IndexIdentifier struct {
	Index   *IndexDescriptor
	OwnerDb string
	OwnerPt uint32
	Policy  string
}

type IndexInfo

type IndexInfo struct {
	ID         uint64
	Owners     []uint32 // pt group for replications.
	MarkDelete bool
}

func (*IndexInfo) UnmarshalBinary

func (ii *IndexInfo) UnmarshalBinary(buf []byte) error

UnmarshalBinary decodes the object from a binary format.

type JoinForRgFn added in v1.3.0

type JoinForRgFn func(data *Data, db string, rg ReplicaGroup, currentAz string) bool

type MeasurementCardinalityInfo

type MeasurementCardinalityInfo struct {
	Name             string
	CardinalityInfos []CardinalityInfo
}

type MeasurementFieldsInfo

type MeasurementFieldsInfo struct {
	MstName    string
	TypeFields []*MeasurementTypeFields
}

func (*MeasurementFieldsInfo) Marshal

func (*MeasurementFieldsInfo) Unmarshal

type MeasurementInfo

type MeasurementInfo struct {
	Name string // measurement name with version

	ShardKeys       []ShardKeyInfo
	ShardIdexes     map[uint64][]int // index of ShardInfo in each shard group which contains this measurement.
	InitNumOfShards int32            // init number of shards which contains this measurement in each shard group.
	Schema          *CleanSchema
	IndexRelation   influxql.IndexRelation
	ColStoreInfo    *ColStoreInfo
	MarkDeleted     bool
	EngineType      config.EngineType
	Options         *Options
	ObsOptions      *obs.ObsOptions // assign DatabaseInfo's ObsOptions to it when obatining MeasurementInfo

	ID         uint64
	SchemaLock sync.RWMutex //ts-meta not use
	// contains filtered or unexported fields
}

func NewMeasurementInfo

func NewMeasurementInfo(nameWithVer string, name string, engineType config.EngineType, id uint64) *MeasurementInfo

func (*MeasurementInfo) CloneSchema added in v1.3.0

func (msti *MeasurementInfo) CloneSchema() *CleanSchema

func (*MeasurementInfo) CloneShardIdexes added in v1.3.0

func (msti *MeasurementInfo) CloneShardIdexes() map[uint64][]int

func (*MeasurementInfo) CompatibleForLogkeeper

func (msti *MeasurementInfo) CompatibleForLogkeeper()

only useful in the logkeeper products

func (*MeasurementInfo) CompatibleForLogkeeperColstore

func (msti *MeasurementInfo) CompatibleForLogkeeperColstore()

func (*MeasurementInfo) CompatibleForLogkeeperRowstore

func (msti *MeasurementInfo) CompatibleForLogkeeperRowstore()

func (*MeasurementInfo) ContainIndexRelation

func (msti *MeasurementInfo) ContainIndexRelation(ID uint64) bool

func (*MeasurementInfo) FieldKeys

func (msti *MeasurementInfo) FieldKeys(ret map[string]map[string]int32)

func (*MeasurementInfo) FindMstInfos

func (msti *MeasurementInfo) FindMstInfos(dataTypes []int64) []*MeasurementTypeFields

func (*MeasurementInfo) GetIndexRelation

func (msti *MeasurementInfo) GetIndexRelation() influxql.IndexRelation

func (*MeasurementInfo) GetInitNumOfShards added in v1.3.0

func (msti *MeasurementInfo) GetInitNumOfShards() int32

func (*MeasurementInfo) GetRecordSchema added in v1.3.0

func (msti *MeasurementInfo) GetRecordSchema() record.Schemas

func (*MeasurementInfo) GetShardKey

func (msti *MeasurementInfo) GetShardKey(ID uint64) *ShardKeyInfo

func (*MeasurementInfo) IsBlockCompact

func (msti *MeasurementInfo) IsBlockCompact() bool

func (*MeasurementInfo) IsDetachedWrite

func (msti *MeasurementInfo) IsDetachedWrite() bool

func (*MeasurementInfo) IsTimeSorted

func (msti *MeasurementInfo) IsTimeSorted() bool

func (*MeasurementInfo) MarshalBinary

func (msti *MeasurementInfo) MarshalBinary() ([]byte, error)

func (*MeasurementInfo) MatchTagKeys

func (msti *MeasurementInfo) MatchTagKeys(cond influxql.Expr, ret map[string]map[string]struct{})

func (*MeasurementInfo) OriginName

func (msti *MeasurementInfo) OriginName() string

func (*MeasurementInfo) SchemaClean added in v1.3.0

func (msti *MeasurementInfo) SchemaClean(sgEndTime int64)

func (*MeasurementInfo) SetoriginName

func (msti *MeasurementInfo) SetoriginName(originName string)

func (*MeasurementInfo) TagKeysTotal

func (msti *MeasurementInfo) TagKeysTotal() int

func (*MeasurementInfo) UnmarshalBinary

func (msti *MeasurementInfo) UnmarshalBinary(buf []byte) error

type MeasurementTypeFields

type MeasurementTypeFields struct {
	Type   int64
	Fields []string
}

type MeasurementVer

type MeasurementVer struct {
	NameWithVersion string
	Version         uint32
}

type MeasurementsInfo

type MeasurementsInfo struct {
	MstsInfo []*MeasurementInfo
}

func (*MeasurementsInfo) MarshalBinary

func (mstsi *MeasurementsInfo) MarshalBinary() ([]byte, error)

for test

func (*MeasurementsInfo) UnmarshalBinary

func (mstsi *MeasurementsInfo) UnmarshalBinary(buf []byte) error

type MigrateEventInfo

type MigrateEventInfo struct {
	// contains filtered or unexported fields
}

func NewMigrateEventInfo

func NewMigrateEventInfo(eventId string, eventType int, pt *DbPtInfo, dest uint64, aliveConnId uint64) *MigrateEventInfo

func (*MigrateEventInfo) Clone

func (m *MigrateEventInfo) Clone() *MigrateEventInfo

func (*MigrateEventInfo) GetAliveConnId

func (m *MigrateEventInfo) GetAliveConnId() uint64

func (*MigrateEventInfo) GetCurrentState

func (m *MigrateEventInfo) GetCurrentState() int

func (*MigrateEventInfo) GetDst

func (m *MigrateEventInfo) GetDst() uint64

func (*MigrateEventInfo) GetEventType

func (m *MigrateEventInfo) GetEventType() int

func (*MigrateEventInfo) GetOpId

func (m *MigrateEventInfo) GetOpId() uint64

func (*MigrateEventInfo) GetPreState

func (m *MigrateEventInfo) GetPreState() int

func (*MigrateEventInfo) GetPtInfo

func (m *MigrateEventInfo) GetPtInfo() *DbPtInfo

func (*MigrateEventInfo) GetSrc

func (m *MigrateEventInfo) GetSrc() uint64

func (*MigrateEventInfo) SetCurrentState

func (m *MigrateEventInfo) SetCurrentState(state int)

func (*MigrateEventInfo) SetDest

func (m *MigrateEventInfo) SetDest(dst uint64)

func (*MigrateEventInfo) SetPreState

func (m *MigrateEventInfo) SetPreState(state int)

func (*MigrateEventInfo) SetSrc

func (m *MigrateEventInfo) SetSrc(src uint64)

type MoveState added in v1.3.0

type MoveState int
const (
	MoveInit               MoveState = 0
	MovePreOffload         MoveState = 1
	MoveRollbackPreOffload MoveState = 2
	MovePreAssign          MoveState = 3
	MoveRollbackPreAssign  MoveState = 4 // rollback preAssign in store when preAssign failed
	MoveOffload            MoveState = 5 // if offload failed retry do not rollback preAssign
	MoveOffloadFailed      MoveState = 6
	MoveOffloaded          MoveState = 7
	MoveAssign             MoveState = 8
	MoveAssignFailed       MoveState = 9
	MoveAssigned           MoveState = 10
	MoveFinal              MoveState = 11
)

func (MoveState) String added in v1.3.0

func (s MoveState) String() string

type NodeInfo

type NodeInfo struct {
	ID              uint64
	Host            string
	RPCAddr         string
	TCPHost         string
	Status          serf.MemberStatus
	LTime           uint64
	GossipAddr      string
	SegregateStatus uint64
	Role            string
}

NodeInfo represents information about a single node in the cluster.

type NodeInfos

type NodeInfos []NodeInfo

NodeInfos is a slice of NodeInfo used for sorting

func (NodeInfos) Len

func (n NodeInfos) Len() int

Len implements sort.Interface.

func (NodeInfos) Less

func (n NodeInfos) Less(i, j int) bool

Less implements sort.Interface.

func (NodeInfos) Swap

func (n NodeInfos) Swap(i, j int)

Swap implements sort.Interface.

type NodeRow added in v1.3.0

type NodeRow struct {
	Timestamp int64
	Status    string
	HostName  string
	NodeID    uint64
	NodeType  string
}

type NodeStartInfo

type NodeStartInfo struct {
	DataIndex          uint64
	NodeId             uint64
	PtIds              []uint32
	ShardDurationInfos map[uint64]*ShardDurationInfo
	DBBriefInfo        map[string]*DatabaseBriefInfo
	LTime              uint64
	ConnId             uint64
}

func (NodeStartInfo) MarshalBinary

func (nsi NodeStartInfo) MarshalBinary() ([]byte, error)

func (*NodeStartInfo) UnMarshalBinary

func (nsi *NodeStartInfo) UnMarshalBinary(buf []byte) error

type NodeStatus

type NodeStatus int64
const (
	StatusNone NodeStatus = iota
	StatusAlive
	StatusFailed
	StatusRestart

	StatusLeaving
	StatusLeft
)

type NodeType added in v1.3.0

type NodeType int

eq to metaclient.Role

const (
	SQL NodeType = iota
	STORE
	META
)

type Op added in v1.3.0

type Op struct {
	// contains filtered or unexported fields
}

func NewOp added in v1.3.0

func NewOp(com *proto2.Command, nextOpIndex uint64, cacheBytes []byte) *Op

type Options

type Options struct {
	CaseInSensitive bool   `json:"case_insensitive"`
	AppendMeta      bool   `json:"append_meta"`
	WriteThreshold  int    `json:"write_threshold"`
	ReadThreshold   int    `json:"read_threshold"`
	StorageCapacity int    `json:"storage_capacity"`
	SplitChar       string `json:"split_char"`
	TagsSplit       string `json:"tag_split_char"`
	Ttl             int64  `json:"ttl"`
}

func (*Options) GetSplitChar

func (mo *Options) GetSplitChar() string

func (*Options) GetTagSplitChar

func (mo *Options) GetTagSplitChar() string

func (*Options) InitDefault

func (mo *Options) InitDefault()

func (*Options) Marshal

func (mo *Options) Marshal() *proto2.Options

func (*Options) Unmarshal

func (mo *Options) Unmarshal(pb *proto2.Options)

type Peer

type Peer struct {
	ID     uint32 // pt id
	PtRole Role
}

type PtInfo

type PtInfo struct {
	Owner  PtOwner
	Status PtStatus
	PtId   uint32
	Ver    uint64
	RGID   uint32
}

func (*PtInfo) Copy added in v1.3.0

func (pi *PtInfo) Copy() *PtInfo

func (*PtInfo) Marshal

func (pi *PtInfo) Marshal() *proto2.PtInfo

type PtOwner

type PtOwner struct {
	NodeID uint64
}

type PtStatus

type PtStatus uint32
const (
	Online PtStatus = iota
	PrepareOffload
	PrepareAssign
	Offline
	RollbackPrepareOffload
	RollbackPrepareAssign
	Disabled
)

type RGStatus

type RGStatus uint8
const (
	Health    RGStatus = iota // write request return success only if the write to all peers in replica group is successful
	SubHealth                 // write request return success if the write to master is successful
	UnFull
)

type ReShardingInfo

type ReShardingInfo struct {
	Database     string
	Rp           string
	ShardGroupID uint64
	SplitTime    int64
	Bounds       []string
}

type RepDisPolicy added in v1.3.0

type RepDisPolicy uint8
const (
	NodeHard RepDisPolicy = iota
	AzHard
	End
)

type ReplicaGroup

type ReplicaGroup struct {
	ID         uint32
	MasterPtID uint32
	Peers      []Peer // the other member in this replica group
	Status     RGStatus
	Term       uint64 // term of master, if master changed term changed
}

func NewReplicaGroup added in v1.3.0

func NewReplicaGroup(id, masterPtId uint32, peers []Peer, status RGStatus, term uint64) *ReplicaGroup

func (*ReplicaGroup) GetPtRole

func (rg *ReplicaGroup) GetPtRole(ptID uint32) Role

func (*ReplicaGroup) IsMasterPt

func (rg *ReplicaGroup) IsMasterPt(ptID uint32) bool

type RetentionPolicyInfo

type RetentionPolicyInfo struct {
	Name               string
	ReplicaN           int
	Duration           time.Duration
	ShardGroupDuration time.Duration
	HotDuration        time.Duration
	WarmDuration       time.Duration
	IndexGroupDuration time.Duration
	IndexGroups        []IndexGroupInfo
	Measurements       map[string]*MeasurementInfo // {"cpu_0001": *MeasurementInfo}
	MstVersions        map[string]MeasurementVer   // {"cpu": {"cpu_0001", 1}}

	ShardGroups          []ShardGroupInfo
	Subscriptions        []SubscriptionInfo
	DownSamplePolicyInfo *DownSamplePolicyInfo
	MarkDeleted          bool
}

RetentionPolicyInfo represents metadata about a retention policy.

func DefaultRetentionPolicyInfo

func DefaultRetentionPolicyInfo() *RetentionPolicyInfo

DefaultRetentionPolicyInfo returns a new instance of RetentionPolicyInfo with default name, replication, and duration.

func NewRetentionPolicyInfo

func NewRetentionPolicyInfo(name string) *RetentionPolicyInfo

NewRetentionPolicyInfo returns a new instance of RetentionPolicyInfo with default replication and duration.

func (*RetentionPolicyInfo) Apply

Apply applies a specification to the retention policy info.

func (*RetentionPolicyInfo) CheckSpecValid

func (rpi *RetentionPolicyInfo) CheckSpecValid() error

func (RetentionPolicyInfo) Clone

Clone returns a deep copy of rpi.

func (*RetentionPolicyInfo) DeletedShardGroups

func (rpi *RetentionPolicyInfo) DeletedShardGroups() []*ShardGroupInfo

DeletedShardGroups returns the Shard Groups which are marked as deleted.

func (*RetentionPolicyInfo) EachMeasurements

func (rpi *RetentionPolicyInfo) EachMeasurements(fn func(m *MeasurementInfo))

func (*RetentionPolicyInfo) EqualsAnotherRp

func (rpi *RetentionPolicyInfo) EqualsAnotherRp(other *RetentionPolicyInfo) bool

func (*RetentionPolicyInfo) ExpiredShardGroups

func (rpi *RetentionPolicyInfo) ExpiredShardGroups(t time.Time) []*ShardGroupInfo

ExpiredShardGroups returns the Shard Groups which are considered expired, for the given time.

func (*RetentionPolicyInfo) GetMeasurement

func (rpi *RetentionPolicyInfo) GetMeasurement(name string) (*MeasurementInfo, error)

func (*RetentionPolicyInfo) HasDownSamplePolicy

func (rpi *RetentionPolicyInfo) HasDownSamplePolicy() bool

func (*RetentionPolicyInfo) Marshal

func (rpi *RetentionPolicyInfo) Marshal(snapshot bool) *proto2.RetentionPolicyInfo

Marshal serializes to a protobuf representation.

func (*RetentionPolicyInfo) MarshalBinary

func (rpi *RetentionPolicyInfo) MarshalBinary() ([]byte, error)

MarshalBinary encodes rpi to a binary format.

func (*RetentionPolicyInfo) MatchMeasurements

func (rpi *RetentionPolicyInfo) MatchMeasurements(ms influxql.Measurements, ret map[string]*MeasurementInfo)

func (*RetentionPolicyInfo) Measurement

func (rpi *RetentionPolicyInfo) Measurement(name string) *MeasurementInfo

func (*RetentionPolicyInfo) ShardGroupByTimestampAndEngineType

func (rpi *RetentionPolicyInfo) ShardGroupByTimestampAndEngineType(timestamp time.Time, engineType config.EngineType) *ShardGroupInfo

ShardGroupByTimestampAndEngineType returns the shard group in the policy that contains the timestamp, or nil if no shard group matches.

func (*RetentionPolicyInfo) ShardGroupsByTimeRange

func (rpi *RetentionPolicyInfo) ShardGroupsByTimeRange(tmin, tmax time.Time) []*ShardGroupInfo

func (*RetentionPolicyInfo) TierDuration

func (rpi *RetentionPolicyInfo) TierDuration(tier uint64) time.Duration

func (*RetentionPolicyInfo) TimeRangeInfo

func (rpi *RetentionPolicyInfo) TimeRangeInfo(shardID uint64) *ShardTimeRangeInfo

func (*RetentionPolicyInfo) UnmarshalBinary

func (rpi *RetentionPolicyInfo) UnmarshalBinary(data []byte) error

UnmarshalBinary decodes rpi from a binary format.

func (*RetentionPolicyInfo) WalkShardGroups

func (rpi *RetentionPolicyInfo) WalkShardGroups(fn func(sg *ShardGroupInfo))

type RetentionPolicySpec

type RetentionPolicySpec struct {
	Name               string
	ReplicaN           *int
	Duration           *time.Duration
	ShardGroupDuration time.Duration
	HotDuration        *time.Duration
	WarmDuration       *time.Duration
	IndexGroupDuration time.Duration
}

RetentionPolicySpec represents the specification for a new retention policy.

func (*RetentionPolicySpec) MarshalBinary

func (s *RetentionPolicySpec) MarshalBinary() ([]byte, error)

MarshalBinary encodes RetentionPolicySpec to a binary format.

func (*RetentionPolicySpec) Matches

func (s *RetentionPolicySpec) Matches(rpi *RetentionPolicyInfo) bool

Matches checks if this retention policy specification matches an existing retention policy.

func (*RetentionPolicySpec) NewRetentionPolicyInfo

func (s *RetentionPolicySpec) NewRetentionPolicyInfo() *RetentionPolicyInfo

NewRetentionPolicyInfo creates a new retention policy info from the specification.

func (*RetentionPolicySpec) UnmarshalBinary

func (s *RetentionPolicySpec) UnmarshalBinary(data []byte) error

UnmarshalBinary decodes RetentionPolicySpec from a binary format.

type RetentionPolicyUpdate

type RetentionPolicyUpdate struct {
	Name               *string
	Duration           *time.Duration
	ReplicaN           *int
	ShardGroupDuration *time.Duration
	HotDuration        *time.Duration
	WarmDuration       *time.Duration
	IndexGroupDuration *time.Duration
}

RetentionPolicyUpdate represents retention policy fields to be updated.

func (*RetentionPolicyUpdate) SetDuration

func (rpu *RetentionPolicyUpdate) SetDuration(v time.Duration)

SetDuration sets the RetentionPolicyUpdate.Duration.

func (*RetentionPolicyUpdate) SetName

func (rpu *RetentionPolicyUpdate) SetName(v string)

SetName sets the RetentionPolicyUpdate.Name.

func (*RetentionPolicyUpdate) SetReplicaN

func (rpu *RetentionPolicyUpdate) SetReplicaN(v int)

SetReplicaN sets the RetentionPolicyUpdate.ReplicaN.

func (*RetentionPolicyUpdate) SetShardGroupDuration

func (rpu *RetentionPolicyUpdate) SetShardGroupDuration(v time.Duration)

SetShardGroupDuration sets the RetentionPolicyUpdate.ShardGroupDuration.

func (*RetentionPolicyUpdate) SetWarmDuration

func (rpu *RetentionPolicyUpdate) SetWarmDuration(v time.Duration)

SetWarmDuration sets the RetentionPolicyUpdate.WarmDuration.

type Role

type Role uint8
const (
	Master Role = iota
	Slave
	Catcher // salve restart and need catch up with master, pt in this role can not read or write
)

type RpMeasurementsFieldsInfo

type RpMeasurementsFieldsInfo struct {
	MeasurementInfos []*MeasurementFieldsInfo
}

func (*RpMeasurementsFieldsInfo) Marshal

func (*RpMeasurementsFieldsInfo) MarshalBinary

func (r *RpMeasurementsFieldsInfo) MarshalBinary() ([]byte, error)

func (*RpMeasurementsFieldsInfo) Unmarshal

func (*RpMeasurementsFieldsInfo) UnmarshalBinary

func (r *RpMeasurementsFieldsInfo) UnmarshalBinary(buf []byte) error

type SQLHost

type SQLHost string

type SQLiteWrapper added in v1.3.0

type SQLiteWrapper struct {
	// contains filtered or unexported fields
}

func NewSQLiteWrapper added in v1.3.0

func NewSQLiteWrapper(path string) (*SQLiteWrapper, error)

func (*SQLiteWrapper) Close added in v1.3.0

func (sqlite *SQLiteWrapper) Close() (err error)

func (*SQLiteWrapper) CompactFiles added in v1.3.0

func (sqlite *SQLiteWrapper) CompactFiles(deleteFiles []uint64, insertFiles []FileInfo) error

for Compactor to delete files and insert files in one transaction.

func (*SQLiteWrapper) DeleteFiles added in v1.3.0

func (sqlite *SQLiteWrapper) DeleteFiles(filesID []uint64) error

for Compactor(Garbage Collection) to delete "mark-deleted" files.

func (*SQLiteWrapper) DeleteFilesByShard added in v1.3.0

func (sqlite *SQLiteWrapper) DeleteFilesByShard(shardID []uint64) error

for Retention Policies to delete files by Shard ID,

func (*SQLiteWrapper) InsertFiles added in v1.3.0

func (sqlite *SQLiteWrapper) InsertFiles(files []FileInfo, transaction *sql.Tx) error

for Ingester and Compactor to insert files.

func (*SQLiteWrapper) QueryFiles added in v1.3.0

func (sqlite *SQLiteWrapper) QueryFiles(mstID uint64, shardID uint64) ([]FileInfo, error)

for Querier and Compactor to get files by measurement ID and shard ID.

func (*SQLiteWrapper) UpdateFiles added in v1.3.0

func (sqlite *SQLiteWrapper) UpdateFiles(filesID []uint64, transaction *sql.Tx) error

for Compactor to update files(mark delete).

type SchemaVal added in v1.3.0

type SchemaVal struct {
	Typ     int8
	EndTime int32 // hign 32 bit of sg.EndTime
}

type ShardDownSamplePolicyInfo

type ShardDownSamplePolicyInfo struct {
	DbName                string
	RpName                string
	ShardId               uint64
	PtId                  uint32
	TaskID                uint64
	DownSamplePolicyLevel int
	Ident                 *ShardIdentifier
}

type ShardDownSampleUpdateInfo

type ShardDownSampleUpdateInfo struct {
	Ident         *ShardIdentifier
	DownSampleLvl int
}

func NewShardDownSampleUpdateInfo

func NewShardDownSampleUpdateInfo(ident *ShardIdentifier, downSampleLvl int) *ShardDownSampleUpdateInfo

type ShardDownSampleUpdateInfos

type ShardDownSampleUpdateInfos struct {
	Infos []*ShardDownSampleUpdateInfo
}

func (*ShardDownSampleUpdateInfos) Marshal

func (*ShardDownSampleUpdateInfos) MarshalBinary

func (s *ShardDownSampleUpdateInfos) MarshalBinary() ([]byte, error)

func (*ShardDownSampleUpdateInfos) Unmarshal

func (*ShardDownSampleUpdateInfos) UnmarshalBinary

func (s *ShardDownSampleUpdateInfos) UnmarshalBinary(buf []byte) error

type ShardDurationInfo

type ShardDurationInfo struct {
	Ident        ShardIdentifier
	DurationInfo DurationDescriptor
}

func (*ShardDurationInfo) MarshalBinary

func (d *ShardDurationInfo) MarshalBinary() ([]byte, error)

func (*ShardDurationInfo) UnmarshalBinary

func (d *ShardDurationInfo) UnmarshalBinary(buf []byte) error

type ShardDurationResponse

type ShardDurationResponse struct {
	DataIndex uint64
	Durations []ShardDurationInfo
}

func (*ShardDurationResponse) MarshalBinary

func (r *ShardDurationResponse) MarshalBinary() ([]byte, error)

func (*ShardDurationResponse) UnmarshalBinary

func (r *ShardDurationResponse) UnmarshalBinary(buf []byte) error

type ShardGroupInfo

type ShardGroupInfo struct {
	ID          uint64
	StartTime   time.Time
	EndTime     time.Time
	DeletedAt   time.Time
	Shards      []ShardInfo
	TruncatedAt time.Time
	EngineType  config.EngineType
	Version     uint32
}

ShardGroupInfo represents metadata about a shard group. The DeletedAt field is important because it makes it clear that a ShardGroup has been marked as deleted, and allow the system to be sure that a ShardGroup is not simply missing. If the DeletedAt is set, the system can safely delete any associated shards.

func (*ShardGroupInfo) Contains

func (sgi *ShardGroupInfo) Contains(t time.Time) bool

Contains returns true iif StartTime <= t < EndTime.

func (*ShardGroupInfo) Deleted

func (sgi *ShardGroupInfo) Deleted() bool

Deleted returns whether this ShardGroup has been deleted.

func (*ShardGroupInfo) DestShard

func (sgi *ShardGroupInfo) DestShard(shardKey string) *ShardInfo

func (ShardGroupInfo) EachShards

func (sgi ShardGroupInfo) EachShards(fn func(s *ShardInfo))

func (*ShardGroupInfo) Overlaps

func (sgi *ShardGroupInfo) Overlaps(min, max time.Time) bool

Overlaps returns whether the shard group contains data for the time range between min and max

func (*ShardGroupInfo) Shard

func (sgi *ShardGroupInfo) Shard(id uint64) *ShardInfo

func (*ShardGroupInfo) ShardFor

func (sgi *ShardGroupInfo) ShardFor(hash uint64, aliveShardIdxes []int) *ShardInfo

ShardFor returns the ShardInfo for a Point hash.

func (ShardGroupInfo) TargetShards

func (sgi ShardGroupInfo) TargetShards(mst *MeasurementInfo, ski *ShardKeyInfo, condition influxql.Expr, aliveShardIdxes []int) []ShardInfo

func (ShardGroupInfo) TargetShardsHintQuery

func (sgi ShardGroupInfo) TargetShardsHintQuery(mst *MeasurementInfo, ski *ShardKeyInfo, condition influxql.Expr, opt *query.SelectOptions, aliveShardIdxes []int) ([]ShardInfo, []byte)

func (*ShardGroupInfo) Truncated

func (sgi *ShardGroupInfo) Truncated() bool

Truncated returns true if this ShardGroup has been truncated (no new writes).

type ShardGroupInfos

type ShardGroupInfos []ShardGroupInfo

ShardGroupInfos implements sort.Interface on []ShardGroupInfo, based on the StartTime field.

func (ShardGroupInfos) Len

func (a ShardGroupInfos) Len() int

Len implements sort.Interface.

func (ShardGroupInfos) Less

func (a ShardGroupInfos) Less(i, j int) bool

Less implements sort.Interface.

func (ShardGroupInfos) Swap

func (a ShardGroupInfos) Swap(i, j int)

Swap implements sort.Interface.

type ShardIdentifier

type ShardIdentifier struct {
	ShardID         uint64
	ShardGroupID    uint64
	Policy          string
	OwnerDb         string
	OwnerPt         uint32
	ShardType       string
	DownSampleLevel int
	DownSampleID    uint64
	ReadOnly        bool
	EngineType      uint32
}

func (*ShardIdentifier) IsRangeMode added in v1.3.0

func (i *ShardIdentifier) IsRangeMode() bool

func (*ShardIdentifier) Marshal

func (i *ShardIdentifier) Marshal() *proto2.ShardIdentifier

func (*ShardIdentifier) Unmarshal

func (i *ShardIdentifier) Unmarshal(ident *proto2.ShardIdentifier)

type ShardInfo

type ShardInfo struct {
	ID              uint64
	Owners          []uint32 // pt group for replications.
	Min             string
	Max             string
	Tier            uint64
	IndexID         uint64
	DownSampleID    uint64
	DownSampleLevel int64
	ReadOnly        bool
	MarkDelete      bool
}

ShardInfo represents metadata about a shard.

func (ShardInfo) Contain

func (si ShardInfo) Contain(shardKey string) bool

func (ShardInfo) ContainPrefix

func (si ShardInfo) ContainPrefix(prefix string) bool

func (*ShardInfo) UnmarshalBinary

func (si *ShardInfo) UnmarshalBinary(buf []byte) error

UnmarshalBinary decodes the object from a binary format.

type ShardKeyInfo

type ShardKeyInfo struct {
	ShardKey   []string
	Type       string
	ShardGroup uint64
}

func (*ShardKeyInfo) EqualsToAnother

func (ski *ShardKeyInfo) EqualsToAnother(other *ShardKeyInfo) bool

func (*ShardKeyInfo) Marshal

func (ski *ShardKeyInfo) Marshal() *proto2.ShardKeyInfo

type ShardOwner

type ShardOwner struct {
	NodeID uint64
}

ShardOwner represents a node that owns a shard.

type ShardTimeRangeInfo

type ShardTimeRangeInfo struct {
	TimeRange     TimeRangeInfo
	OwnerIndex    IndexDescriptor
	ShardDuration *ShardDurationInfo
	ShardType     string
}

func (*ShardTimeRangeInfo) MarshalBinary

func (t *ShardTimeRangeInfo) MarshalBinary() ([]byte, error)

func (*ShardTimeRangeInfo) UnmarshalBinary

func (t *ShardTimeRangeInfo) UnmarshalBinary(buf []byte) error

type ShowClusterInfo added in v1.3.0

type ShowClusterInfo struct {
	Nodes  []NodeRow
	Events []EventRow
}

func (*ShowClusterInfo) MarshalBinary added in v1.3.0

func (s *ShowClusterInfo) MarshalBinary() ([]byte, error)

func (*ShowClusterInfo) UnmarshalBinary added in v1.3.0

func (s *ShowClusterInfo) UnmarshalBinary(buf []byte) error

type StoreDownSamplePolicy

type StoreDownSamplePolicy struct {
	Alive   bool
	Info    *DownSamplePolicyInfo
	Schemas [][]hybridqp.Catalog
}

type StreamCall

type StreamCall struct {
	Call  string
	Field string
	Alias string
}

func (StreamCall) Clone

func (c StreamCall) Clone() *StreamCall

func (*StreamCall) String

func (c *StreamCall) String() string

type StreamInfo

type StreamInfo struct {
	Name     string
	ID       uint64
	SrcMst   *StreamMeasurementInfo
	DesMst   *StreamMeasurementInfo
	Interval time.Duration
	Dims     []string
	Calls    []*StreamCall
	Delay    time.Duration
}

func NewStreamInfo

func NewStreamInfo(name string, delay time.Duration, srcMstInfo *influxql.Measurement, desMstInfo *StreamMeasurementInfo, selectStmt *influxql.SelectStatement) *StreamInfo

func NewStreamInfo(stmt *influxql.CreateStreamStatement, selectStmt *influxql.SelectStatement) *StreamInfo {

func (*StreamInfo) CallsName

func (s *StreamInfo) CallsName() string

func (*StreamInfo) Dimensions

func (s *StreamInfo) Dimensions() string

func (*StreamInfo) Equal

func (s *StreamInfo) Equal(d *StreamInfo) bool

func (*StreamInfo) Marshal

func (s *StreamInfo) Marshal() *proto2.StreamInfo

func (*StreamInfo) Unmarshal

func (s *StreamInfo) Unmarshal(pb *proto2.StreamInfo)

type StreamInfos

type StreamInfos []*StreamInfo

type StreamMeasurementInfo

type StreamMeasurementInfo struct {
	Name            string
	Database        string
	RetentionPolicy string
}

func (StreamMeasurementInfo) Clone

func (*StreamMeasurementInfo) Equal

type SubscriptionInfo

type SubscriptionInfo struct {
	Name         string
	Mode         string
	Destinations []string
}

SubscriptionInfo holds the subscription information.

type TimeRangeInfo

type TimeRangeInfo struct {
	StartTime time.Time
	EndTime   time.Time
}

type User

type User interface {
	// AuthorizeDatabase indicates whether the given Privilege is authorized on the database with the given name.
	AuthorizeDatabase(p originql.Privilege, name string) bool

	// AuthorizeQuery returns an error if the query cannot be executed
	AuthorizeQuery(database string, query *influxql.Query) error

	query.FineAuthorizer
	ID() string
	AuthorizeUnrestricted() bool
}

type UserInfo

type UserInfo struct {
	// User's name.
	Name string

	// Hashed password.
	Hash string

	// Whether the GetUser is an admin, i.e. allowed to do everything.
	Admin bool

	//whether the GetUser is rwuser, rwuser just do not operation GetUser request. all DB operation can do
	Rwuser bool

	// Map of database name to granted privilege.
	Privileges map[string]originql.Privilege
}

UserInfo represents metadata about a GetUser in the system.

func (*UserInfo) AuthorizeDatabase

func (u *UserInfo) AuthorizeDatabase(privilege originql.Privilege, database string) bool

AuthorizeDatabase returns true if the GetUser is authorized for the given privilege on the given database.

func (*UserInfo) AuthorizeQuery

func (u *UserInfo) AuthorizeQuery(database string, query *influxql.Query) error

func (*UserInfo) AuthorizeQueryForRwUser

func (u *UserInfo) AuthorizeQueryForRwUser(database string, query *influxql.Query) error

rwusers can execute show users rwusers can create none sys users with partition privilege, whether provided with all privileges or not rwusers can not drop sys users and rwuser rwusers can set password for none sys users rwusers can grant [READ,WRITE,ALL] ON <db> TO <user> for none sys users rwusers can revoke [READ,WRITE,ALL] ON <db> TO <user> for none sys users rwusers can show grants for none sys users rwusers can not drop _internal

func (*UserInfo) AuthorizeSeriesRead

func (u *UserInfo) AuthorizeSeriesRead(database string, measurement []byte, tags models.Tags) bool

AuthorizeSeriesRead is used to limit access per-series (enterprise only)

func (*UserInfo) AuthorizeSeriesWrite

func (u *UserInfo) AuthorizeSeriesWrite(database string, measurement []byte, tags models.Tags) bool

AuthorizeSeriesWrite is used to limit access per-series (enterprise only)

func (*UserInfo) AuthorizeUnrestricted

func (u *UserInfo) AuthorizeUnrestricted() bool

AuthorizeUnrestricted allows admins to shortcut access checks.

func (*UserInfo) ID

func (u *UserInfo) ID() string

func (*UserInfo) IsOpen

func (u *UserInfo) IsOpen() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL