@@ -10,12 +10,12 @@ import (
1010
1111 "github.com/cockroachdb/errors"
1212 "github.com/cockroachdb/pebble/internal/base"
13- "github.com/cockroachdb/pebble/internal/compact"
1413 "github.com/cockroachdb/pebble/internal/invariants"
1514 "github.com/cockroachdb/pebble/internal/manifest"
1615 "github.com/cockroachdb/pebble/objstorage"
1716 "github.com/cockroachdb/pebble/sstable"
1817 "github.com/cockroachdb/pebble/sstable/blob"
18+ "github.com/cockroachdb/pebble/valsep"
1919 "github.com/cockroachdb/redact"
2020)
2121
@@ -24,8 +24,8 @@ import (
2424// ValueStorageLatencyTolerant.
2525const latencyTolerantMinimumSize = 10
2626
27- var neverSeparateValues getValueSeparation = func (JobID , * tableCompaction , ValueStoragePolicy ) compact .ValueSeparation {
28- return compact .NeverSeparateValues {}
27+ var neverSeparateValues getValueSeparation = func (JobID , * tableCompaction , ValueStoragePolicy ) valsep .ValueSeparation {
28+ return valsep .NeverSeparateValues {}
2929}
3030
3131// determineCompactionValueSeparation determines whether a compaction should
@@ -35,22 +35,22 @@ var neverSeparateValues getValueSeparation = func(JobID, *tableCompaction, Value
3535// It assumes that the compaction will write tables at d.TableFormat() or above.
3636func (d * DB ) determineCompactionValueSeparation (
3737 jobID JobID , c * tableCompaction , valueStorage ValueStoragePolicy ,
38- ) compact .ValueSeparation {
38+ ) valsep .ValueSeparation {
3939 if d .FormatMajorVersion () < FormatValueSeparation ||
4040 d .opts .Experimental .ValueSeparationPolicy == nil {
41- return compact .NeverSeparateValues {}
41+ return valsep .NeverSeparateValues {}
4242 }
4343 policy := d .opts .Experimental .ValueSeparationPolicy ()
4444 if ! policy .Enabled {
45- return compact .NeverSeparateValues {}
45+ return valsep .NeverSeparateValues {}
4646 }
4747
4848 // We're allowed to write blob references. Determine whether we should carry
4949 // forward existing blob references, or write new ones.
5050 minSize := uint64 (policy .MinimumSize )
5151 switch valueStorage {
5252 case ValueStorageLowReadLatency :
53- return compact .NeverSeparateValues {}
53+ return valsep .NeverSeparateValues {}
5454 case ValueStorageLatencyTolerant :
5555 minSize = latencyTolerantMinimumSize
5656 default :
@@ -249,10 +249,10 @@ type writeNewBlobFiles struct {
249249}
250250
251251// Assert that *writeNewBlobFiles implements the compact.ValueSeparation interface.
252- var _ compact .ValueSeparation = (* writeNewBlobFiles )(nil )
252+ var _ valsep .ValueSeparation = (* writeNewBlobFiles )(nil )
253253
254254// SetNextOutputConfig implements the ValueSeparation interface.
255- func (vs * writeNewBlobFiles ) SetNextOutputConfig (config compact .ValueSeparationOutputConfig ) {
255+ func (vs * writeNewBlobFiles ) SetNextOutputConfig (config valsep .ValueSeparationOutputConfig ) {
256256 vs .minimumSize = config .MinimumSize
257257}
258258
@@ -372,13 +372,13 @@ func (vs *writeNewBlobFiles) Add(
372372
373373// FinishOutput closes the current blob file (if any). It returns the stats
374374// and metadata of the now completed blob file.
375- func (vs * writeNewBlobFiles ) FinishOutput () (compact .ValueSeparationMetadata , error ) {
375+ func (vs * writeNewBlobFiles ) FinishOutput () (valsep .ValueSeparationMetadata , error ) {
376376 if vs .writer == nil {
377- return compact .ValueSeparationMetadata {}, nil
377+ return valsep .ValueSeparationMetadata {}, nil
378378 }
379379 stats , err := vs .writer .Close ()
380380 if err != nil {
381- return compact .ValueSeparationMetadata {}, err
381+ return valsep .ValueSeparationMetadata {}, err
382382 }
383383 vs .writer = nil
384384 meta := & manifest.PhysicalBlobFile {
@@ -391,7 +391,7 @@ func (vs *writeNewBlobFiles) FinishOutput() (compact.ValueSeparationMetadata, er
391391 // Reset the minimum size for the next output.
392392 vs .minimumSize = vs .globalMinimumSize
393393
394- return compact .ValueSeparationMetadata {
394+ return valsep .ValueSeparationMetadata {
395395 BlobReferences : manifest.BlobReferences {
396396 manifest .MakeBlobReference (base .BlobFileID (vs .objMeta .DiskFileNum ),
397397 stats .UncompressedValueBytes , stats .UncompressedValueBytes , meta ),
@@ -442,10 +442,10 @@ type pendingReference struct {
442442
443443// Assert that *preserveBlobReferences implements the compact.ValueSeparation
444444// interface.
445- var _ compact .ValueSeparation = (* preserveBlobReferences )(nil )
445+ var _ valsep .ValueSeparation = (* preserveBlobReferences )(nil )
446446
447447// SetNextOutputConfig implements the ValueSeparation interface.
448- func (vs * preserveBlobReferences ) SetNextOutputConfig (config compact .ValueSeparationOutputConfig ) {}
448+ func (vs * preserveBlobReferences ) SetNextOutputConfig (config valsep .ValueSeparationOutputConfig ) {}
449449
450450// Kind implements the ValueSeparation interface.
451451func (vs * preserveBlobReferences ) Kind () sstable.ValueSeparationKind {
@@ -535,7 +535,7 @@ func (vs *preserveBlobReferences) Add(
535535}
536536
537537// FinishOutput implements compact.ValueSeparation.
538- func (vs * preserveBlobReferences ) FinishOutput () (compact .ValueSeparationMetadata , error ) {
538+ func (vs * preserveBlobReferences ) FinishOutput () (valsep .ValueSeparationMetadata , error ) {
539539 if invariants .Enabled {
540540 // Assert that the incrementally-maintained totalValueSize matches the
541541 // sum of all the reference value sizes.
@@ -544,7 +544,7 @@ func (vs *preserveBlobReferences) FinishOutput() (compact.ValueSeparationMetadat
544544 totalValueSize += ref .valueSize
545545 }
546546 if totalValueSize != vs .totalValueSize {
547- return compact .ValueSeparationMetadata {},
547+ return valsep .ValueSeparationMetadata {},
548548 errors .AssertionFailedf ("totalValueSize mismatch: %d != %d" , totalValueSize , vs .totalValueSize )
549549 }
550550 }
@@ -554,15 +554,15 @@ func (vs *preserveBlobReferences) FinishOutput() (compact.ValueSeparationMetadat
554554 ref := vs .currReferences [i ]
555555 phys , ok := vs .inputBlobPhysicalFiles [ref .blobFileID ]
556556 if ! ok {
557- return compact .ValueSeparationMetadata {},
557+ return valsep .ValueSeparationMetadata {},
558558 errors .AssertionFailedf ("pebble: blob file %s not found among input sstables" , ref .blobFileID )
559559 }
560560 references [i ] = manifest .MakeBlobReference (ref .blobFileID , ref .valueSize , ref .valueSize , phys )
561561 }
562562 referenceSize := vs .totalValueSize
563563 vs .currReferences = vs .currReferences [:0 ]
564564 vs .totalValueSize = 0
565- return compact .ValueSeparationMetadata {
565+ return valsep .ValueSeparationMetadata {
566566 BlobReferences : references ,
567567 BlobReferenceSize : referenceSize ,
568568 // The outputBlobReferenceDepth is computed from the input sstables,
0 commit comments