Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - Variables
 - func MergeCkpMeta(ctx context.Context, fs fileservice.FileService, ...) (string, error)
 - func NewRunner(ctx context.Context, rt *dbutils.Runtime, catalog *catalog.Catalog, ...) *runner
 - type CheckpointEntry
 - func ListSnapshotCheckpoint(ctx context.Context, fs fileservice.FileService, snapshot types.TS, tid uint64, ...) ([]*CheckpointEntry, error)
 - func ListSnapshotCheckpointWithMeta(ctx context.Context, fs fileservice.FileService, files []*MetaFile, idx int, ...) ([]*CheckpointEntry, error)
 - func NewCheckpointEntry(start, end types.TS, typ EntryType) *CheckpointEntry
 
- func (e *CheckpointEntry) CheckPrintTime() bool
 - func (e *CheckpointEntry) GCEntry(fs *objectio.ObjectFS) error
 - func (e *CheckpointEntry) GCMetadata(fs *objectio.ObjectFS) error
 - func (e *CheckpointEntry) GetByTableID(ctx context.Context, fs *objectio.ObjectFS, tid uint64) (ins, del, cnIns, segDel *api.Batch, err error)
 - func (e *CheckpointEntry) GetEnd() types.TS
 - func (e *CheckpointEntry) GetLocation() objectio.Location
 - func (e *CheckpointEntry) GetStart() types.TS
 - func (e *CheckpointEntry) GetState() State
 - func (e *CheckpointEntry) GetTNLocation() objectio.Location
 - func (e *CheckpointEntry) GetType() EntryType
 - func (e *CheckpointEntry) GetVersion() uint32
 - func (e *CheckpointEntry) HasOverlap(from, to types.TS) bool
 - func (e *CheckpointEntry) IncrWaterLine()
 - func (e *CheckpointEntry) IsCommitted() bool
 - func (e *CheckpointEntry) IsFinished() bool
 - func (e *CheckpointEntry) IsIncremental() bool
 - func (e *CheckpointEntry) IsPendding() bool
 - func (e *CheckpointEntry) IsRunning() bool
 - func (e *CheckpointEntry) LSNString() string
 - func (e *CheckpointEntry) LessEq(ts types.TS) bool
 - func (e *CheckpointEntry) Prefetch(ctx context.Context, fs *objectio.ObjectFS, data *logtail.CheckpointData) (err error)
 - func (e *CheckpointEntry) PrefetchMetaIdx(ctx context.Context, fs *objectio.ObjectFS) (data *logtail.CheckpointData, err error)
 - func (e *CheckpointEntry) Read(ctx context.Context, fs *objectio.ObjectFS, data *logtail.CheckpointData) (err error)
 - func (e *CheckpointEntry) ReadMetaIdx(ctx context.Context, fs *objectio.ObjectFS, data *logtail.CheckpointData) (err error)
 - func (e *CheckpointEntry) SetLSN(ckpLSN, truncateLSN uint64)
 - func (e *CheckpointEntry) SetLocation(cn, tn objectio.Location)
 - func (e *CheckpointEntry) SetState(state State) (ok bool)
 - func (e *CheckpointEntry) SetVersion(version uint32)
 - func (e *CheckpointEntry) String() string
 
- type DirtyCtx
 - type EntryType
 - type GetCheckpointRange
 - type MetaFile
 - func AllAfterAndGCheckpoint(snapshot types.TS, files []*MetaFile) ([]*MetaFile, int, error)
 - func ListSnapshotMeta(ctx context.Context, fs fileservice.FileService, snapshot types.TS, ...) ([]*MetaFile, int, error)
 - func ListSnapshotMetaWithDiskCleaner(snapshot types.TS, listFunc GetCheckpointRange, metas map[string]struct{}) ([]*MetaFile, int, error)
 - func NewMetaFile(index int, start, end types.TS, name string) *MetaFile
 - func SpecifiedCheckpoint(snapshot types.TS, files []*MetaFile) ([]*MetaFile, int, error)
 
- type Observer
 - type Option
 - func WithCheckpointBlockRows(rows int) Option
 - func WithCheckpointSize(size int) Option
 - func WithCollectInterval(interval time.Duration) Option
 - func WithFlushInterval(interval time.Duration) Option
 - func WithForceFlushCheckInterval(interval time.Duration) Option
 - func WithForceFlushTimeout(to time.Duration) Option
 - func WithGlobalMinCount(count int) Option
 - func WithGlobalVersionInterval(interval time.Duration) Option
 - func WithMinCount(count int) Option
 - func WithMinIncrementalInterval(interval time.Duration) Option
 - func WithObserver(o Observer) Option
 - func WithReserveWALEntryCount(count uint64) Option
 - func WithStartupLatancy(latency time.Duration) Option
 
- type Runner
 - type RunnerReader
 - type State
 - type TestRunner
 
Constants ¶
      View Source
      
  
    const ( PrefetchData uint16 = iota PrefetchMetaIdx ReadMetaIdx ReadData )
      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" CheckpointAttr_EntryType = "entry_type" CheckpointAttr_Version = "version" CheckpointAttr_AllLocations = "all_locations" CheckpointAttr_CheckpointLSN = "checkpoint_lsn" CheckpointAttr_TruncateLSN = "truncate_lsn" CheckpointAttr_Type = "type" CheckpointSchemaColumnCountV1 = 5 // start, end, loc, type, ver CheckpointSchemaColumnCountV2 = 9 )
Variables ¶
      View Source
      
  
    var ( CheckpointSchemaAttr = []string{ CheckpointAttr_StartTS, CheckpointAttr_EndTS, CheckpointAttr_MetaLocation, CheckpointAttr_EntryType, CheckpointAttr_Version, CheckpointAttr_AllLocations, CheckpointAttr_CheckpointLSN, CheckpointAttr_TruncateLSN, CheckpointAttr_Type, } CheckpointSchemaTypes = []types.Type{ types.New(types.T_TS, 0, 0), types.New(types.T_TS, 0, 0), types.New(types.T_varchar, types.MaxVarcharLen, 0), types.New(types.T_bool, 0, 0), types.New(types.T_uint32, 0, 0), types.New(types.T_varchar, types.MaxVarcharLen, 0), types.New(types.T_uint64, 0, 0), types.New(types.T_uint64, 0, 0), types.New(types.T_int8, 0, 0), } )
      View Source
      
  
var (
	CheckpointSchema *catalog.Schema
)
    Functions ¶
func MergeCkpMeta ¶ added in v1.1.0
func MergeCkpMeta(ctx context.Context, fs fileservice.FileService, cnLocation, tnLocation objectio.Location, startTs, ts types.TS) (string, error)
Types ¶
type CheckpointEntry ¶ added in v0.6.0
func ListSnapshotCheckpoint ¶ added in v1.2.0
func ListSnapshotCheckpoint( ctx context.Context, fs fileservice.FileService, snapshot types.TS, tid uint64, listFunc GetCheckpointRange, ) ([]*CheckpointEntry, error)
func ListSnapshotCheckpointWithMeta ¶ added in v1.2.0
func ListSnapshotCheckpointWithMeta( ctx context.Context, fs fileservice.FileService, files []*MetaFile, idx int, gcStage types.TS, isAll bool, ) ([]*CheckpointEntry, error)
func NewCheckpointEntry ¶ added in v0.6.0
func NewCheckpointEntry(start, end types.TS, typ EntryType) *CheckpointEntry
func (*CheckpointEntry) CheckPrintTime ¶ added in v0.8.0
func (e *CheckpointEntry) CheckPrintTime() bool
func (*CheckpointEntry) GCEntry ¶ added in v0.7.0
func (e *CheckpointEntry) GCEntry(fs *objectio.ObjectFS) error
func (*CheckpointEntry) GCMetadata ¶ added in v0.7.0
func (e *CheckpointEntry) GCMetadata(fs *objectio.ObjectFS) error
func (*CheckpointEntry) GetByTableID ¶ added in v0.6.0
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() objectio.Location
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) GetTNLocation ¶ added in v1.2.0
func (e *CheckpointEntry) GetTNLocation() objectio.Location
func (*CheckpointEntry) GetType ¶ added in v1.1.0
func (e *CheckpointEntry) GetType() EntryType
func (*CheckpointEntry) GetVersion ¶ added in v1.0.0
func (e *CheckpointEntry) GetVersion() uint32
func (*CheckpointEntry) HasOverlap ¶ added in v0.6.0
func (e *CheckpointEntry) HasOverlap(from, to types.TS) bool
func (*CheckpointEntry) IncrWaterLine ¶ added in v1.0.0
func (e *CheckpointEntry) IncrWaterLine()
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) LSNString ¶ added in v1.0.0
func (e *CheckpointEntry) LSNString() string
func (*CheckpointEntry) Prefetch ¶ added in v0.8.0
func (e *CheckpointEntry) Prefetch( ctx context.Context, fs *objectio.ObjectFS, data *logtail.CheckpointData, ) (err error)
func (*CheckpointEntry) PrefetchMetaIdx ¶ added in v1.0.0
func (e *CheckpointEntry) PrefetchMetaIdx( ctx context.Context, fs *objectio.ObjectFS, ) (data *logtail.CheckpointData, err error)
func (*CheckpointEntry) Read ¶ added in v0.6.0
func (e *CheckpointEntry) Read( ctx context.Context, fs *objectio.ObjectFS, data *logtail.CheckpointData, ) (err error)
func (*CheckpointEntry) ReadMetaIdx ¶ added in v1.0.0
func (e *CheckpointEntry) ReadMetaIdx( ctx context.Context, fs *objectio.ObjectFS, data *logtail.CheckpointData, ) (err error)
func (*CheckpointEntry) SetLSN ¶ added in v1.0.0
func (e *CheckpointEntry) SetLSN(ckpLSN, truncateLSN uint64)
func (*CheckpointEntry) SetLocation ¶ added in v0.6.0
func (e *CheckpointEntry) SetLocation(cn, tn objectio.Location)
func (*CheckpointEntry) SetState ¶ added in v0.6.0
func (e *CheckpointEntry) SetState(state State) (ok bool)
func (*CheckpointEntry) SetVersion ¶ added in v1.0.1
func (e *CheckpointEntry) SetVersion(version uint32)
func (*CheckpointEntry) String ¶ added in v0.6.0
func (e *CheckpointEntry) String() string
type GetCheckpointRange ¶ added in v1.2.0
type MetaFile ¶ added in v1.2.0
type MetaFile struct {
	// contains filtered or unexported fields
}
    func AllAfterAndGCheckpoint ¶ added in v1.2.0
func ListSnapshotMeta ¶ added in v1.2.0
func ListSnapshotMeta( ctx context.Context, fs fileservice.FileService, snapshot types.TS, listFunc GetCheckpointRange, ) ([]*MetaFile, int, error)
func ListSnapshotMetaWithDiskCleaner ¶ added in v1.2.1
func NewMetaFile ¶ added in v1.2.2
func SpecifiedCheckpoint ¶ added in v1.2.0
type Option ¶ added in v0.6.0
type Option func(*runner)
func WithCheckpointBlockRows ¶ added in v1.0.0
func WithCheckpointSize ¶ added in v1.0.0
func WithCollectInterval ¶ added in v0.6.0
func WithFlushInterval ¶ added in v0.6.0
func WithForceFlushCheckInterval ¶ added in v0.6.0
func WithForceFlushTimeout ¶ added in v0.6.0
func WithGlobalMinCount ¶ added in v0.7.0
func WithGlobalVersionInterval ¶ added in v0.7.0
func WithMinCount ¶ added in v0.6.0
func WithMinIncrementalInterval ¶ added in v0.6.0
func WithObserver ¶ added in v0.6.0
func WithReserveWALEntryCount ¶ added in v1.0.0
func WithStartupLatancy ¶ added in v1.2.1
type Runner ¶ added in v0.6.0
type Runner interface {
	TestRunner
	RunnerReader
	Start()
	Stop()
	String() string
	EnqueueWait(any) error
	Replay(catalog.DataFactory) (types.TS, uint64, bool, error)
	FlushTable(ctx context.Context, dbID, tableID uint64, ts types.TS) error
	GCByTS(ctx context.Context, ts types.TS) error
	// for test, delete in next phase
	DebugUpdateOptions(opts ...Option)
	GetAllCheckpoints() []*CheckpointEntry
}
    type RunnerReader ¶ added in v0.7.0
type RunnerReader interface {
	GetAllIncrementalCheckpoints() []*CheckpointEntry
	GetAllGlobalCheckpoints() []*CheckpointEntry
	GetPenddingIncrementalCount() int
	GetGlobalCheckpointCount() int
	CollectCheckpointsInRange(ctx context.Context, start, end types.TS) (ckpLoc string, lastEnd types.TS, err error)
	ICKPSeekLT(ts types.TS, cnt int) []*CheckpointEntry
	MaxGlobalCheckpoint() *CheckpointEntry
	GetStage() types.TS
	MaxLSN() uint64
	GetCatalog() *catalog.Catalog
	GetCheckpointMetaFiles() map[string]struct{}
	RemoveCheckpointMetaFile(string)
}
    type TestRunner ¶ added in v0.7.0
type TestRunner interface {
	EnableCheckpoint()
	DisableCheckpoint()
	CleanPenddingCheckpoint()
	ForceGlobalCheckpoint(end types.TS, versionInterval time.Duration) error
	ForceGlobalCheckpointSynchronously(ctx context.Context, end types.TS, versionInterval time.Duration) error
	ForceCheckpointForBackup(end types.TS) (string, error)
	ForceIncrementalCheckpoint(end types.TS, truncate bool) error
	IsAllChangesFlushed(start, end types.TS, printTree bool) bool
	MaxLSNInRange(end types.TS) uint64
	ExistPendingEntryToGC() bool
	MaxGlobalCheckpoint() *CheckpointEntry
	MaxCheckpoint() *CheckpointEntry
	ForceFlush(ts types.TS, ctx context.Context, duration time.Duration) (err error)
	ForceFlushWithInterval(ts types.TS, ctx context.Context, forceDuration, flushInterval time.Duration) (err error)
	GetDirtyCollector() logtail.Collector
}
     Click to show internal directories. 
   Click to hide internal directories.