v3compactor

package
v0.0.0-...-dfcc009 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v3compactor implements automated policies for compacting etcd's mvcc storage.

Index

Constants

View Source
const (
	ModePeriodic = "periodic"
	ModeRevision = "revision"
)

Variables

This section is empty.

Functions

This section is empty.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL