package apply

import "go.etcd.io/etcd/server/v3/etcdserver/apply"

Index

Functions

func CheckTxnAuth

func CheckTxnAuth(as auth.AuthStore, ai *auth.AuthInfo, lessor lease.Lessor, rt *pb.TxnRequest) error

Types

type ApplierOptions

type ApplierOptions struct {
	Logger                       *zap.Logger
	KV                           mvcc.KV
	AlarmStore                   *v3alarm.AlarmStore
	AuthStore                    auth.AuthStore
	Lessor                       lease.Lessor
	Cluster                      *membership.RaftCluster
	RaftStatus                   RaftStatusGetter
	SnapshotServer               SnapshotServer
	ConsistentIndex              cindex.ConsistentIndexer
	TxnModeWriteWithSharedBuffer bool
	Backend                      backend.Backend
	QuotaBackendBytesCfg         int64
	WarningApplyDuration         time.Duration
}

type InternalRaftRequestWrapper

type InternalRaftRequestWrapper struct {
	*pb.InternalRaftRequest
	// SkipRangeExecution skips execution of range requests inside a txn for
	// members that do not need the response; validation via checkRange still runs.
	SkipRangeExecution bool
}

InternalRaftRequestWrapper carries per-apply metadata for an InternalRaftRequest.

type RaftStatusGetter

type RaftStatusGetter interface {
	MemberID() types.ID
	Leader() types.ID
	CommittedIndex() uint64
	AppliedIndex() uint64
	Term() uint64
}

RaftStatusGetter represents etcd server and Raft progress.

type Result

type Result struct {
	Resp proto.Message
	Err  error
	// Physc signals the physical effect of the request has completed in addition
	// to being logically reflected by the node. Currently, only used for
	// Compaction requests.
	Physc <-chan struct{}
	Trace *traceutil.Trace
}

func Apply

func Apply(lg *zap.Logger, e *raftpb.Entry, uberApply UberApplier, w wait.Wait, shouldApplyV3 membership.ShouldApplyV3) (ar *Result, id uint64)

type SnapshotServer

type SnapshotServer interface {
	ForceSnapshot()
}

type UberApplier

type UberApplier interface {
	Apply(r *InternalRaftRequestWrapper, shouldApplyV3 membership.ShouldApplyV3) *Result
}

func NewUberApplier

func NewUberApplier(opts ApplierOptions) UberApplier

Source Files

apply.go auth.go backend.go capped.go corrupt.go interface.go metrics.go quota.go uber_applier.go

Version
v3.7.1 (latest)
Published
Jul 23, 2026
Platform
linux/amd64
Imports
27 packages
Last checked
3 hours ago

Tools for package owners.