Documentation ¶
Index ¶
- Constants
- Variables
- func BackendMemberKey(id types.ID) []byte
- func CreateMetaBucket(tx backend.BatchTx)
- func DefaultIgnores(bucket, key []byte) bool
- func DetectSchemaVersion(lg *zap.Logger, tx backend.ReadTx) (v semver.Version, err error)
- func Migrate(lg *zap.Logger, tx backend.BatchTx, w WALVersion, target semver.Version) error
- func MustUnsafeGetAllLeases(tx backend.ReadTx) []*leasepb.Lease
- func MustUnsafeGetLease(tx backend.BatchTx, leaseID int64) *leasepb.Lease
- func MustUnsafePutLease(tx backend.BatchTx, lpb *leasepb.Lease)
- func MustUnsafeSaveConfStateToBackend(lg *zap.Logger, tx backend.BatchTx, confState *raftpb.ConfState)
- func NewAlarmBackend(lg *zap.Logger, be backend.Backend) *alarmBackend
- func NewAuthBackend(lg *zap.Logger, be backend.Backend) *authBackend
- func NewMembershipBackend(lg *zap.Logger, be backend.Backend) *membershipBackend
- func ReadConsistentIndex(tx backend.ReadTx) (uint64, uint64)
- func ReadStorageVersion(tx backend.ReadTx) *semver.Version
- func ReadStorageVersionFromSnapshot(tx *bbolt.Tx) *semver.Version
- func UnsafeClearStorageVersion(tx backend.BatchTx)
- func UnsafeConfStateFromBackend(lg *zap.Logger, tx backend.ReadTx) *raftpb.ConfState
- func UnsafeCreateAuthRolesBucket(tx backend.BatchTx)
- func UnsafeCreateLeaseBucket(tx backend.BatchTx)
- func UnsafeCreateMetaBucket(tx backend.BatchTx)
- func UnsafeDeleteLease(tx backend.BatchTx, lpb *leasepb.Lease)
- func UnsafeDetectSchemaVersion(lg *zap.Logger, tx backend.ReadTx) (v semver.Version, err error)
- func UnsafeMigrate(lg *zap.Logger, tx backend.BatchTx, w WALVersion, target semver.Version) error
- func UnsafeReadConsistentIndex(tx backend.ReadTx) (uint64, uint64)
- func UnsafeReadStorageVersion(tx backend.ReadTx) *semver.Version
- func UnsafeSetStorageVersion(tx backend.BatchTx, v *semver.Version)
- func UnsafeUpdateConsistentIndex(tx backend.BatchTx, index uint64, term uint64)
- func UnsafeUpdateConsistentIndexForce(tx backend.BatchTx, index uint64, term uint64)
- func Validate(lg *zap.Logger, tx backend.ReadTx) error
- type ActionList
- type WALVersion
Constants ¶
const ( MemberAttributesSuffix = "attributes" MemberRaftAttributesSuffix = "raftAttributes" )
Variables ¶
var ( Key = backend.Bucket(bucket{id: 1, name: keyBucketName, safeRangeBucket: true}) Meta = backend.Bucket(bucket{id: 2, name: metaBucketName, safeRangeBucket: false}) Lease = backend.Bucket(bucket{id: 3, name: leaseBucketName, safeRangeBucket: false}) Alarm = backend.Bucket(bucket{id: 4, name: alarmBucketName, safeRangeBucket: false}) Cluster = backend.Bucket(bucket{id: 5, name: clusterBucketName, safeRangeBucket: false}) Members = backend.Bucket(bucket{id: 10, name: membersBucketName, safeRangeBucket: false}) MembersRemoved = backend.Bucket(bucket{id: 11, name: membersRemovedBucketName, safeRangeBucket: false}) Auth = backend.Bucket(bucket{id: 20, name: authBucketName, safeRangeBucket: false}) AuthUsers = backend.Bucket(bucket{id: 21, name: authUsersBucketName, safeRangeBucket: false}) AuthRoles = backend.Bucket(bucket{id: 22, name: authRolesBucketName, safeRangeBucket: false}) Test = backend.Bucket(bucket{id: 100, name: testBucketName, safeRangeBucket: false}) )
var ( // Pre v3.5 ScheduledCompactKeyName = []byte("scheduledCompactRev") FinishedCompactKeyName = []byte("finishedCompactRev") MetaConsistentIndexKeyName = []byte("consistent_index") AuthEnabledKeyName = []byte("authEnabled") AuthRevisionKeyName = []byte("authRevision") // Since v3.5 MetaTermKeyName = []byte("term") MetaConfStateName = []byte("confState") ClusterClusterVersionKeyName = []byte("clusterVersion") ClusterDowngradeKeyName = []byte("downgrade") // Since v3.6 MetaStorageVersionName = []byte("storageVersion") )
Functions ¶
func BackendMemberKey ¶
func CreateMetaBucket ¶
CreateMetaBucket creates the `meta` bucket (if it does not exist yet).
func DefaultIgnores ¶
DefaultIgnores defines buckets & keys to ignore in hash checking.
func DetectSchemaVersion ¶
DetectSchemaVersion returns version of storage schema. Returned value depends on etcd version that created the backend. For * v3.6 and newer will return storage version. * v3.5 will return it's version if it includes all storage fields added in v3.5 (might require a snapshot). * v3.4 and older is not supported and will return error.
func Migrate ¶
Migrate updates storage schema to provided target version. Downgrading requires that provided WAL doesn't contain unsupported entries.
func MustUnsafeSaveConfStateToBackend ¶
func MustUnsafeSaveConfStateToBackend(lg *zap.Logger, tx backend.BatchTx, confState *raftpb.ConfState)
MustUnsafeSaveConfStateToBackend persists confState using given transaction (tx). confState in backend is persisted since etcd v3.5.
func NewMembershipBackend ¶
func ReadConsistentIndex ¶
ReadConsistentIndex loads consistent index and term from given transaction. returns 0 if the data are not found.
func ReadStorageVersion ¶
ReadStorageVersion loads storage version from given backend transaction. Populated since v3.6
func ReadStorageVersionFromSnapshot ¶
ReadStorageVersionFromSnapshot loads storage version from given bbolt transaction. Populated since v3.6
func UnsafeClearStorageVersion ¶
UnsafeClearStorageVersion removes etcd storage version in backend.
func UnsafeConfStateFromBackend ¶
UnsafeConfStateFromBackend retrieves ConfState from the backend. Returns nil if confState in backend is not persisted (e.g. backend writen by <v3.5).
func UnsafeCreateLeaseBucket ¶
func UnsafeCreateMetaBucket ¶
UnsafeCreateMetaBucket creates the `meta` bucket (if it does not exist yet).
func UnsafeDetectSchemaVersion ¶
UnsafeDetectSchemaVersion non-threadsafe version of DetectSchemaVersion.
func UnsafeMigrate ¶
UnsafeMigrate is non thread-safe version of Migrate.
func UnsafeReadConsistentIndex ¶
UnsafeReadConsistentIndex loads consistent index & term from given transaction. returns 0,0 if the data are not found. Term is persisted since v3.5.
func UnsafeReadStorageVersion ¶
UnsafeReadStorageVersion loads storage version from given backend transaction. Populated since v3.6
func UnsafeSetStorageVersion ¶
UnsafeSetStorageVersion updates etcd storage version in backend. Populated since v3.6
Types ¶
type ActionList ¶
type ActionList []action