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.5.18 (latest)
- Published
- Jan 24, 2025
- Platform
- linux/amd64
- Imports
- 8 packages
- Last checked
- 5 days ago –
Tools for package owners.