package compactor
import "github.com/coreos/etcd/compactor"
Package compactor implements automated policies for compacting etcd's mvcc storage.
Index ¶
- Constants
- type Compactable
- type Compactor
- type Periodic
- func NewPeriodic(h time.Duration, rg RevGetter, c Compactable) *Periodic
- func (t *Periodic) Pause()
- func (t *Periodic) Resume()
- func (t *Periodic) Run()
- func (t *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 ¶
type Periodic ¶
type Periodic struct {
// contains filtered or unexported fields
}
Periodic compacts the log by purging revisions older than the configured retention time.
func NewPeriodic ¶
func NewPeriodic(h time.Duration, rg RevGetter, c Compactable) *Periodic
NewPeriodic creates a new instance of Periodic compactor that purges the log older than h Duration.
func (*Periodic) Pause ¶
func (t *Periodic) Pause()
Pause pauses periodic compactor.
func (*Periodic) Resume ¶
func (t *Periodic) Resume()
Resume resumes periodic compactor.
func (*Periodic) Run ¶
func (t *Periodic) Run()
Run runs periodic compactor.
func (*Periodic) Stop ¶
func (t *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 NewRevision ¶
func NewRevision(retention int64, rg RevGetter, c Compactable) *Revision
NewRevision creates a new instance of Revisonal compactor that purges the log older than retention revisions from the current revision.
func (*Revision) Pause ¶
func (t *Revision) Pause()
Pause pauses revision-based compactor.
func (*Revision) Resume ¶
func (t *Revision) Resume()
Resume resumes revision-based compactor.
func (*Revision) Run ¶
func (t *Revision) Run()
Run runs revision-based compactor.
func (*Revision) Stop ¶
func (t *Revision) Stop()
Stop stops revision-based compactor.
Source Files ¶
compactor.go doc.go periodic.go revision.go
- Version
- v3.3.15+incompatible
- Published
- Aug 19, 2019
- Platform
- js/wasm
- Imports
- 8 packages
- Last checked
- 8 minutes ago –
Tools for package owners.