MCPcopy
hub / github.com/kopia/kopia / getRangeToCompact

Function getRangeToCompact

internal/epoch/epoch_manager.go:616–632  ·  view source on GitHub ↗
(cs CurrentSnapshot, p Parameters)

Source from the content-addressed store, hash-verified

614}
615
616func getRangeToCompact(cs CurrentSnapshot, p Parameters) (low, high int, compactRange bool) {
617 latestSettled := cs.lastSettledEpochNumber()
618 if latestSettled < 0 {
619 return -1, -1, false
620 }
621
622 firstNonRangeCompacted := 0
623 if rangeSetsLen := len(cs.LongestRangeCheckpointSets); rangeSetsLen > 0 {
624 firstNonRangeCompacted = cs.LongestRangeCheckpointSets[rangeSetsLen-1].MaxEpoch + 1
625 }
626
627 if latestSettled-firstNonRangeCompacted < p.FullCheckpointFrequency {
628 return -1, -1, false
629 }
630
631 return firstNonRangeCompacted, latestSettled, true
632}
633
634func (e *Manager) loadUncompactedEpochs(ctx context.Context, first, last int) (map[int][]blob.Metadata, error) {
635 var mu sync.Mutex

Callers 1

Calls 1

Tested by

no test coverage detected