datapool

package
v0.0.0-...-2588cc6 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CommittedDataPool

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

CommittedDataPool is the committed data pool for multiple tenants.

func NewCommittedDataPool

func NewCommittedDataPool(backendStorage storage.ExternalStorage) *CommittedDataPool

NewCommittedDataPool creates a new data management.

func (*CommittedDataPool) AddTenant

func (dm *CommittedDataPool) AddTenant(tenantID uint64) error

type DataStream

type DataStream struct {

	// The range of the data stream.
	Range *pb.Task_Range
	// contains filtered or unexported fields
}

DataStream is a wrapper of data stream for a specified range, the range can be a table or a whole tenant.

func NewDataStream

func NewDataStream(tenantID uint64, range_ *pb.Task_Range, lowWatermark uint64) *DataStream

NewDataStream creates a new data stream.

func (*DataStream) Next

func (d *DataStream) Next() *pb.EventRow

type RangeFiles

type RangeFiles struct {
	// The range of the data files.
	Range_ *pb.Task_Range

	// Time Range of the data files
	LowWatermark  uint64
	HighWatermark uint64

	// Ordered data files, the file name is the max commit ts of the file.
	Files []string
}

func NewRangeFiles

func NewRangeFiles(range_ *pb.Task_Range, low, high uint64) *RangeFiles

NewRangeFiles creates a new RangeFiles.

func (*RangeFiles) AddFiles

func (r *RangeFiles) AddFiles(file ...string)

type RangesFilesSnap

type RangesFilesSnap struct {
	// Time slice of the data files.
	HighWatermark uint64
	LowWatermark  uint64
	// contains filtered or unexported fields
}

RangesFilesSnap is RangeFiles for a specific time slice like ts100~200.

func NewRangesFilesSnap

func NewRangesFilesSnap(lowWatermark, highWatermark uint64) *RangesFilesSnap

NewRangesFilesSnap creates a new RangesFilesSnap.

func NewRangesFilesSnapFromStorage

func NewRangesFilesSnapFromStorage(ranges []*pb.Task_Range, lowWatermark, highWatermark uint64, tenantId uint64,
	rootPath string, s storage.ExternalStorage) (*RangesFilesSnap, error)

func (*RangesFilesSnap) AddRangeFiles

func (t *RangesFilesSnap) AddRangeFiles(rf *TimeRangeFiles)

func (*RangesFilesSnap) GetRangeFiles

func (t *RangesFilesSnap) GetRangeFiles(range_ *pb.Task_Range, lowWatermark uint64) []*RangeFiles

GetRangeFiles returns the data files for a specified logical range. The logical range can be a table or a whole tenant.

func (*RangesFilesSnap) Len

func (t *RangesFilesSnap) Len() int

type TenantDataPool

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

TenantDataPool is the memory index for the tenant. It is a 2 dimensions map: 1. The first dimension is the watermark. (watermark -> RangesFilesSnap) 2. The second dimension is the range. ()

func NewTenantDataPool

func NewTenantDataPool(tenantID uint64, rootPath string, backendStorage storage.ExternalStorage) *TenantDataPool

NewTenantDataPool creates a new TenantDataPool.

func (*TenantDataPool) GetRangeFiles

func (m *TenantDataPool) GetRangeFiles(range_ *pb.Task_Range, lowWatermark uint64, fileCntLimit int) map[uint64][]*RangeFiles

GetRangeFiles returns the data files for a specified logical range. Returns

func (*TenantDataPool) Init

func (m *TenantDataPool) Init() error

type TimeRangeFiles

type TimeRangeFiles struct {
	Range *pb.Task_Range

	// ts -> RangeFiles
	Files skiplist.SkipList
}

func NewTimeRangeFiles

func NewTimeRangeFiles(range_ *pb.Task_Range) *TimeRangeFiles

func (*TimeRangeFiles) AddRangeFiles

func (r *TimeRangeFiles) AddRangeFiles(rf *RangeFiles)

func (*TimeRangeFiles) Len

func (r *TimeRangeFiles) Len() int

Jump to

Keyboard shortcuts

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