kubernetes/vendor/go.etcd.io/etcd/server/v3/etcdserver/corrupt.go

type CorruptionChecker

type corruptionChecker

type Hasher

func newCorruptionChecker(lg *zap.Logger, s *EtcdServer, storage mvcc.HashStorage) *corruptionChecker {}

type hasherAdapter

func (h hasherAdapter) MemberId() types.ID {}

func (h hasherAdapter) ReqTimeout() time.Duration {}

func (h hasherAdapter) PeerHashByRev(rev int64) []*peerHashKVResp {}

func (h hasherAdapter) TriggerCorruptAlarm(memberID types.ID) {}

// InitialCheck compares initial hash values with its peers
// before serving any peer/client traffic. Only mismatch when hashes
// are different at requested revision, with same compact revision.
func (cm *corruptionChecker) InitialCheck() error {}

func (cm *corruptionChecker) PeriodicCheck() error {}

func (cm *corruptionChecker) CompactHashCheck() {}

func (cm *corruptionChecker) uncheckedRevisions() []mvcc.KeyValueHash {}

func (s *EtcdServer) triggerCorruptAlarm(id types.ID) {}

type peerInfo

type peerHashKVResp

func (s *EtcdServer) getPeerHashKVs(rev int64) []*peerHashKVResp {}

type applierV3Corrupt

func newApplierV3Corrupt(a applierV3) *applierV3Corrupt {}

func (a *applierV3Corrupt) Put(ctx context.Context, txn mvcc.TxnWrite, p *pb.PutRequest) (*pb.PutResponse, *traceutil.Trace, error) {}

func (a *applierV3Corrupt) Range(ctx context.Context, txn mvcc.TxnRead, p *pb.RangeRequest) (*pb.RangeResponse, error) {}

func (a *applierV3Corrupt) DeleteRange(txn mvcc.TxnWrite, p *pb.DeleteRangeRequest) (*pb.DeleteRangeResponse, error) {}

func (a *applierV3Corrupt) Txn(ctx context.Context, rt *pb.TxnRequest) (*pb.TxnResponse, *traceutil.Trace, error) {}

func (a *applierV3Corrupt) Compaction(compaction *pb.CompactionRequest) (*pb.CompactionResponse, <-chan struct{}

func (a *applierV3Corrupt) LeaseGrant(lc *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) {}

func (a *applierV3Corrupt) LeaseRevoke(lc *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error) {}

const PeerHashKVPath

type hashKVHandler

func (s *EtcdServer) HashKVHandler() http.Handler {}

func (h *hashKVHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {}

// HashByRev fetch hash of kv store at the given rev via http call to the given url
func HashByRev(ctx context.Context, cid types.ID, cc *http.Client, url string, rev int64) (*pb.HashKVResponse, error) {}