@@ -1298,23 +1298,18 @@ func (p SpanPolicy) String() string {
12981298 sb .WriteString ("disable-value-separation-by-suffix," )
12991299 }
13001300 switch p .ValueStoragePolicy .PolicyAdjustment {
1301- case NoValueSeparation :
1302- sb .WriteString ("no-value-separation," )
1303- case OverrideValueStorage :
1304- sb .WriteString ("override," )
1301+ case NoBlobHandles :
1302+ sb .WriteString ("no-blob- value-separation," )
1303+ case OverrideValueSeparation :
1304+ sb .WriteString ("override-value-separation ," )
13051305 }
13061306 return strings .TrimSuffix (sb .String (), "," )
13071307}
13081308
13091309// ValueStoragePolicyAdjustment is used to determine where to store the values for
1310- // KVs. If the PolicyAdjustment specified is OverrideValueStorage, the remaining fields
1311- // are used to override the global configuration for value separation .
1310+ // KVs, overriding global policies. Values can be configured to be stored in-place,
1311+ // in value blocks, or in blob files .
13121312type ValueStoragePolicyAdjustment struct {
1313- // PolicyAdjustment specifies the policy adjustment to apply.
1314- PolicyAdjustment ValueStoragePolicyAdjustmentType
1315-
1316- // Remaining fields are ignored, unless the PolicyAdjustment is OverrideValueStorage.
1317-
13181313 // DisableSeparationBySuffix disables discriminating KVs depending on
13191314 // suffix.
13201315 //
@@ -1323,6 +1318,13 @@ type ValueStoragePolicyAdjustment struct {
13231318 // keys (where the smallest suffix is the latest version), but should be
13241319 // disabled for keys where the suffix does not correspond to a version.
13251320 DisableSeparationBySuffix bool
1321+
1322+ // PolicyAdjustment specifies the policy adjustment to apply for value separation
1323+ // into blob files.
1324+ PolicyAdjustment ValueStoragePolicyAdjustmentType
1325+
1326+ // Remaining fields are ignored, unless the PolicyAdjustment is OverrideValueSeparation.
1327+
13261328 // MinimumSize is the minimum size of the value.
13271329 MinimumSize int
13281330}
@@ -1332,35 +1334,36 @@ type ValueStoragePolicyAdjustment struct {
13321334type ValueStoragePolicyAdjustmentType uint8
13331335
13341336const (
1335- // UseDefaultValueStorage is the default value; Pebble will respect global
1336- // configuration for value separation.
1337- UseDefaultValueStorage ValueStoragePolicyAdjustmentType = iota
1337+ // UseDefaultValueSeparation is the default value; Pebble will respect global
1338+ // configuration for value separation into blob files .
1339+ UseDefaultValueSeparation ValueStoragePolicyAdjustmentType = iota
13381340
1339- // NoValueSeparation indicates Pebble should prefer storing values
1340- // in-place.
1341- NoValueSeparation
1341+ // NoBlobHandles indicates Pebble should prefer storing values in
1342+ // the same sstable (either in-place or in a value block) .
1343+ NoBlobHandles
13421344
1343- // OverrideValueStorage indicates that value separation thresholds (see
1345+ // OverrideValueSeparation indicates that value separation thresholds (see
13441346 // valsep.ValueSeparationOutputConfig) for this key range are being
13451347 // overridden from a SpanPolicy. If the global Options enable value
1346- // separation, Pebble will separate values under the OverrideValueStorage
1348+ // separation, Pebble will separate values under the OverrideValueSeparation
13471349 // policy even if they do not meet the minimum size threshold of the
13481350 // global Options' ValueSeparationPolicy.
1349- OverrideValueStorage
1351+ OverrideValueSeparation
13501352)
13511353
13521354// ValueStorageLatencyTolerant is the suggested ValueStoragePolicyAdjustment
13531355// to use for key ranges that can tolerate higher value retrieval
13541356// latency.
13551357var ValueStorageLatencyTolerant = ValueStoragePolicyAdjustment {
1356- PolicyAdjustment : OverrideValueStorage ,
1358+ PolicyAdjustment : OverrideValueSeparation ,
13571359 MinimumSize : 10 ,
13581360}
13591361
13601362// ValueStorageLowReadLatency is the suggested ValueStoragePolicyAdjustment
13611363// to use for key ranges that require low value retrieval latency.
13621364var ValueStorageLowReadLatency = ValueStoragePolicyAdjustment {
1363- PolicyAdjustment : NoValueSeparation ,
1365+ PolicyAdjustment : NoBlobHandles ,
1366+ DisableSeparationBySuffix : true ,
13641367}
13651368
13661369// SpanPolicyFunc is used to determine the SpanPolicy for a key region.
0 commit comments