Skip to content

Commit 28813f8

Browse files
Apaarjimwwalker
authored andcommitted
MB-54668: Remove magma_value_separation_size config
Magma stored small values under the magma_value_separation_size in the keyIndex and larger values in the seqIndex log. This resulted in addiotnal complexity with negligible benefit since the seqno still have to be stored in the seqIndex. Also this needs to be disabled for Magma to retain history since the seqIndex is where Magma will pause compaction. Removing magma_value_separation_size and the MinValueSize config such that all values are stored in the seqIndex. Magma has retained the CanSplitValueFn to allow for testing of the read path for existing Magma instances. Change-Id: I5e46deeb85ad11cbf88fcc08e684f6f4379a0031
1 parent 557fd0d commit 28813f8

File tree

4 files changed

+0
-16
lines changed

4 files changed

+0
-16
lines changed

engines/ep/configuration.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,12 +1299,6 @@
12991299
"descr": "Frequency of heartbeat interval; in seconds. A heartbeat task is scheduled to provide cleanup and maintenance when magma is idle.",
13001300
"type": "size_t"
13011301
},
1302-
"magma_value_separation_size": {
1303-
"default": "32",
1304-
"dynamic": false,
1305-
"descr": "Values smaller than this will not be separated from their keys.",
1306-
"type": "size_t"
1307-
},
13081302
"magma_write_cache_ratio": {
13091303
"default": "0.2",
13101304
"dynamic": false,

engines/ep/src/kvstore/magma-kvstore/magma-kvstore.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -557,8 +557,6 @@ MagmaKVStore::MagmaKVStore(MagmaKVStoreConfig& configuration)
557557
configuration.getMagmaMinCheckpointInterval();
558558
configuration.magmaCfg.HeartbeatInterval =
559559
configuration.getMagmaHeartbeatInterval();
560-
configuration.magmaCfg.MinValueSize =
561-
configuration.getMagmaValueSeparationSize();
562560
configuration.magmaCfg.MaxWriteCacheSize =
563561
configuration.getMagmaMaxWriteCache();
564562
configuration.magmaCfg.WALBufferSize =

engines/ep/src/kvstore/magma-kvstore/magma-kvstore_config.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ MagmaKVStoreConfig::MagmaKVStoreConfig(Configuration& config,
7777
magmaCheckpointThreshold = config.getMagmaCheckpointThreshold();
7878
magmaHeartbeatInterval =
7979
std::chrono::milliseconds(1s * config.getMagmaHeartbeatInterval());
80-
magmaValueSeparationSize = config.getMagmaValueSeparationSize();
8180
magmaMemQuotaRatio = config.getMagmaMemQuotaRatio();
8281
magmaWriteCacheRatio = config.getMagmaWriteCacheRatio();
8382
magmaMaxWriteCache = config.getMagmaMaxWriteCache();

engines/ep/src/kvstore/magma-kvstore/magma-kvstore_config.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,6 @@ class MagmaKVStoreConfig : public KVStoreConfig {
7373
std::chrono::milliseconds getMagmaHeartbeatInterval() const {
7474
return magmaHeartbeatInterval;
7575
}
76-
size_t getMagmaValueSeparationSize() const {
77-
return magmaValueSeparationSize;
78-
}
7976
size_t getMagmaMaxWriteCache() const {
8077
return magmaMaxWriteCache;
8178
}
@@ -255,10 +252,6 @@ class MagmaKVStoreConfig : public KVStoreConfig {
255252
// Time interval (in milliseconds) between heartbeat tasks
256253
std::chrono::milliseconds magmaHeartbeatInterval;
257254

258-
// Magma minimum value for key value separation.
259-
// Values < magmaValueSeparationSize, value remains in key index.
260-
size_t magmaValueSeparationSize;
261-
262255
// WAL ensures Magma's atomicity, durability. Disabling it is useful in
263256
// performance analysis.
264257
bool magmaEnableWAL;

0 commit comments

Comments
 (0)