kevo/pkg/engine/interfaces/compaction.go
Jeremy Tregunna 7e226825df
All checks were successful
Go Tests / Run Tests (1.24.2) (push) Successful in 9m48s
fix: engine refactor bugfix fest, go fmt
2025-04-25 23:36:08 -06:00

30 lines
656 B
Go

package interfaces
// CompactionManager handles the compaction of SSTables
type CompactionManager interface {
// Core operations
TriggerCompaction() error
CompactRange(startKey, endKey []byte) error
// Tombstone management
TrackTombstone(key []byte)
ForcePreserveTombstone(key []byte)
// Lifecycle management
Start() error
Stop() error
// Statistics
GetCompactionStats() map[string]interface{}
}
// CompactionCoordinator handles scheduling and coordination of compaction
type CompactionCoordinator interface {
CompactionManager
// Coordination methods
ScheduleCompaction() error
IsCompactionRunning() bool
WaitForCompaction() error
}