package v3compactor
import "go.etcd.io/etcd/server/v3/etcdserver/api/v3compactor"
Package v3compactor implements automated policies for compacting etcd's mvcc storage.
Index ¶
- Constants
- type Compactable
- type Compactor
- type Periodic
- func (pc *Periodic) Pause()
- func (pc *Periodic) Resume()
- func (pc *Periodic) Run()
- func (pc *Periodic) Stop()
- type RevGetter
- type Revision
Constants ¶
const ( ModePeriodic = "periodic" ModeRevision = "revision" )
Types ¶
type Compactable ¶
type Compactable interface {
Compact(ctx context.Context, r *pb.CompactionRequest) (*pb.CompactionResponse, error)
}
type Compactor ¶
type Compactor interface {
// Run starts the main loop of the compactor in background.
// Use Stop() to halt the loop and release the resource.
Run()
// Stop halts the main loop of the compactor.
Stop()
// Pause temporally suspend the compactor not to run compaction. Resume() to unpose.
Pause()
// Resume restarts the compactor suspended by Pause().
Resume()
}
Compactor purges old log from the storage periodically.
func New ¶
func New( lg *zap.Logger, mode string, retention time.Duration, rg RevGetter, c Compactable, ) (Compactor, error)
New returns a new Compactor based on given "mode".
type Periodic ¶
type Periodic struct {
// contains filtered or unexported fields
}
Periodic compacts the log by purging revisions older than the configured retention time.
func (*Periodic) Pause ¶
func (pc *Periodic) Pause()
Pause pauses periodic compactor.
func (*Periodic) Resume ¶
func (pc *Periodic) Resume()
Resume resumes periodic compactor.
func (*Periodic) Run ¶
func (pc *Periodic) Run()
Run runs periodic compactor.
func (*Periodic) Stop ¶
func (pc *Periodic) Stop()
Stop stops periodic compactor.
type RevGetter ¶
type RevGetter interface {
Rev() int64
}
type Revision ¶
type Revision struct {
// contains filtered or unexported fields
}
Revision compacts the log by purging revisions older than the configured reivison number. Compaction happens every 5 minutes.
func (*Revision) Pause ¶
func (rc *Revision) Pause()
Pause pauses revision-based compactor.
func (*Revision) Resume ¶
func (rc *Revision) Resume()
Resume resumes revision-based compactor.
func (*Revision) Run ¶
func (rc *Revision) Run()
Run runs revision-based compactor.
func (*Revision) Stop ¶
func (rc *Revision) Stop()
Stop stops revision-based compactor.
Source Files ¶
compactor.go doc.go periodic.go revision.go
- Version
- v3.6.10 (latest)
- Published
- Apr 1, 2026
- Platform
- linux/amd64
- Imports
- 9 packages
- Last checked
- 2 weeks ago –
Tools for package owners.