checkpoint

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PrefixIncremental = "incremental"
	PrefixGlobal      = "global"
	PrefixMetadata    = "meta"
	CheckpointDir     = "ckp/"
)
View Source
const (
	CheckpointAttr_StartTS      = "start_ts"
	CheckpointAttr_EndTS        = "end_ts"
	CheckpointAttr_MetaLocation = "meta_location"
)

Variables

View Source
var (
	CheckpointSchemaAttr = []string{
		CheckpointAttr_StartTS,
		CheckpointAttr_EndTS,
		CheckpointAttr_MetaLocation,
	}
	CheckpointSchemaTypes = []types.Type{
		types.New(types.T_TS, 0, 0, 0),
		types.New(types.T_TS, 0, 0, 0),
		types.New(types.T_varchar, 0, 0, 0),
	}
)
View Source
var (
	CheckpointSchema *catalog.Schema
)

Functions

func NewRunner added in v0.6.0

func NewRunner(
	fs *objectio.ObjectFS,
	catalog *catalog.Catalog,
	scheduler tasks.TaskScheduler,
	source logtail.Collector,
	wal wal.Driver,
	opts ...Option) *runner

Types

type CheckpointEntry added in v0.6.0

type CheckpointEntry struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewCheckpointEntry added in v0.6.0

func NewCheckpointEntry(start, end types.TS) *CheckpointEntry

func (*CheckpointEntry) GetByTableID added in v0.6.0

func (e *CheckpointEntry) GetByTableID(fs *objectio.ObjectFS, tid uint64) (ins, del, cnIns *api.Batch, err error)

func (*CheckpointEntry) GetEnd added in v0.6.0

func (e *CheckpointEntry) GetEnd() types.TS

func (*CheckpointEntry) GetLocation added in v0.6.0

func (e *CheckpointEntry) GetLocation() string

func (*CheckpointEntry) GetStart added in v0.6.0

func (e *CheckpointEntry) GetStart() types.TS

func (*CheckpointEntry) GetState added in v0.6.0

func (e *CheckpointEntry) GetState() State

func (*CheckpointEntry) HasOverlap added in v0.6.0

func (e *CheckpointEntry) HasOverlap(from, to types.TS) bool

func (*CheckpointEntry) IsCommitted added in v0.6.0

func (e *CheckpointEntry) IsCommitted() bool

func (*CheckpointEntry) IsFinished added in v0.6.0

func (e *CheckpointEntry) IsFinished() bool

func (*CheckpointEntry) IsIncremental added in v0.6.0

func (e *CheckpointEntry) IsIncremental() bool

func (*CheckpointEntry) IsPendding added in v0.6.0

func (e *CheckpointEntry) IsPendding() bool

func (*CheckpointEntry) IsRunning added in v0.6.0

func (e *CheckpointEntry) IsRunning() bool

func (*CheckpointEntry) Read added in v0.6.0

func (e *CheckpointEntry) Read(fs *objectio.ObjectFS) (data *logtail.CheckpointData, err error)

func (*CheckpointEntry) Replay added in v0.6.0

func (e *CheckpointEntry) Replay(
	c *catalog.Catalog,
	fs *objectio.ObjectFS,
	dataFactory catalog.DataFactory) (readDuration, applyDuration time.Duration, err error)

func (*CheckpointEntry) SetLocation added in v0.6.0

func (e *CheckpointEntry) SetLocation(location string)

func (*CheckpointEntry) SetState added in v0.6.0

func (e *CheckpointEntry) SetState(state State) (ok bool)

func (*CheckpointEntry) String added in v0.6.0

func (e *CheckpointEntry) String() string

type DirtyCtx added in v0.6.0

type DirtyCtx struct {
	// contains filtered or unexported fields
}

type Observer added in v0.6.0

type Observer interface {
	OnNewCheckpoint(ts types.TS)
}

type Option added in v0.6.0

type Option func(*runner)

func WithCollectInterval added in v0.6.0

func WithCollectInterval(interval time.Duration) Option

func WithFlushInterval added in v0.6.0

func WithFlushInterval(interval time.Duration) Option

func WithForceFlushCheckInterval added in v0.6.0

func WithForceFlushCheckInterval(interval time.Duration) Option

func WithForceFlushTimeout added in v0.6.0

func WithForceFlushTimeout(to time.Duration) Option

func WithMinCount added in v0.6.0

func WithMinCount(count int) Option

func WithMinGlobalInterval added in v0.6.0

func WithMinGlobalInterval(interval time.Duration) Option

func WithMinIncrementalInterval added in v0.6.0

func WithMinIncrementalInterval(interval time.Duration) Option

func WithObserver added in v0.6.0

func WithObserver(o Observer) Option

type Runner added in v0.6.0

type Runner interface {
	Start()
	Stop()
	EnqueueWait(any) error
	Replay(catalog.DataFactory) (types.TS, error)
	MaxLSN() uint64

	MockCheckpoint(end types.TS)
	FlushTable(dbID, tableID uint64, ts types.TS) error

	// for test, delete in next phase
	TestCheckpoint(entry *CheckpointEntry)
	DebugUpdateOptions(opts ...Option)
	GetAllCheckpoints() []*CheckpointEntry
	CollectCheckpointsInRange(start, end types.TS) (ckpLoc string, lastEnd types.TS)
}

type State added in v0.6.0

type State int8
const (
	ST_Running State = iota
	ST_Pending
	ST_Finished
)

Jump to

Keyboard shortcuts

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