From f148412a328abf6b19193addba2de97b5bffcc96 Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Tue, 12 May 2020 16:59:20 -0700 Subject: [PATCH 1/2] Make UPDATE_STORAGE_BYTE_LIMIT the reference spill variety. Which is unrelated, but a change I was supposed to do a while ago and forgot. --- fdbserver/OldTLogServer_6_2.actor.cpp | 2 +- fdbserver/TLogServer.actor.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fdbserver/OldTLogServer_6_2.actor.cpp b/fdbserver/OldTLogServer_6_2.actor.cpp index c33d1c3471..d8a31ee999 100644 --- a/fdbserver/OldTLogServer_6_2.actor.cpp +++ b/fdbserver/OldTLogServer_6_2.actor.cpp @@ -1105,7 +1105,7 @@ ACTOR Future updateStorage( TLogData* self ) { commitLockReleaser.release(); } - if( totalSize < SERVER_KNOBS->UPDATE_STORAGE_BYTE_LIMIT ) { + if( totalSize < SERVER_KNOBS->REFERENCE_SPILL_UPDATE_STORAGE_BYTE_LIMIT ) { wait( delay(BUGGIFY ? SERVER_KNOBS->BUGGIFY_TLOG_STORAGE_MIN_UPDATE_INTERVAL : SERVER_KNOBS->TLOG_STORAGE_MIN_UPDATE_INTERVAL, TaskPriority::UpdateStorage) ); } else { diff --git a/fdbserver/TLogServer.actor.cpp b/fdbserver/TLogServer.actor.cpp index 242d5f90cf..a2850f2dcf 100644 --- a/fdbserver/TLogServer.actor.cpp +++ b/fdbserver/TLogServer.actor.cpp @@ -1197,7 +1197,7 @@ ACTOR Future updateStorage( TLogData* self ) { commitLockReleaser.release(); } - if( totalSize < SERVER_KNOBS->UPDATE_STORAGE_BYTE_LIMIT ) { + if( totalSize < SERVER_KNOBS->REFERENCE_SPILL_UPDATE_STORAGE_BYTE_LIMIT ) { wait( delay(BUGGIFY ? SERVER_KNOBS->BUGGIFY_TLOG_STORAGE_MIN_UPDATE_INTERVAL : SERVER_KNOBS->TLOG_STORAGE_MIN_UPDATE_INTERVAL, TaskPriority::UpdateStorage) ); } else { From 283fd3af271af9c9cbe6c3e8c599ce8c9c858097 Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Tue, 12 May 2020 17:01:52 -0700 Subject: [PATCH 2/2] Add a knob which controls writing prefix compressed kvs mem snapshots. Which will be set to on by default in 7.0 --- fdbserver/KeyValueStoreMemory.actor.cpp | 2 +- fdbserver/Knobs.cpp | 1 + fdbserver/Knobs.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fdbserver/KeyValueStoreMemory.actor.cpp b/fdbserver/KeyValueStoreMemory.actor.cpp index bd46d08e1c..284257973f 100644 --- a/fdbserver/KeyValueStoreMemory.actor.cpp +++ b/fdbserver/KeyValueStoreMemory.actor.cpp @@ -743,7 +743,7 @@ private: // Get the common prefix between this key and the previous one, or 0 if there was no previous one. int commonPrefix; - if(useDelta) { + if(useDelta && SERVER_KNOBS->PREFIX_COMPRESS_KVS_MEM_SNAPSHOTS) { commonPrefix = commonPrefixLength(lastSnapshotKeyA, lastSnapshotKeyB); } else { diff --git a/fdbserver/Knobs.cpp b/fdbserver/Knobs.cpp index 281b902213..f1b1b26034 100644 --- a/fdbserver/Knobs.cpp +++ b/fdbserver/Knobs.cpp @@ -549,6 +549,7 @@ void ServerKnobs::initialize(bool randomize, ClientKnobs* clientKnobs, bool isSi init( MIN_TAG_PAGES_READ_RATE, 1.0e4 ); if( randomize && BUGGIFY ) MIN_TAG_PAGES_READ_RATE = 0; init( READ_TAG_MEASUREMENT_INTERVAL, 30.0 ); if( randomize && BUGGIFY ) READ_TAG_MEASUREMENT_INTERVAL = 1.0; init( OPERATION_COST_BYTE_FACTOR, 16384 ); if( randomize && BUGGIFY ) OPERATION_COST_BYTE_FACTOR = 4096; + init( PREFIX_COMPRESS_KVS_MEM_SNAPSHOTS, false ); if( randomize && BUGGIFY ) PREFIX_COMPRESS_KVS_MEM_SNAPSHOTS = true; //Wait Failure init( MAX_OUTSTANDING_WAIT_FAILURE_REQUESTS, 250 ); if( randomize && BUGGIFY ) MAX_OUTSTANDING_WAIT_FAILURE_REQUESTS = 2; diff --git a/fdbserver/Knobs.h b/fdbserver/Knobs.h index 3fce535859..0569660c40 100644 --- a/fdbserver/Knobs.h +++ b/fdbserver/Knobs.h @@ -478,6 +478,7 @@ public: int64_t MIN_TAG_PAGES_READ_RATE; double READ_TAG_MEASUREMENT_INTERVAL; int64_t OPERATION_COST_BYTE_FACTOR; + bool PREFIX_COMPRESS_KVS_MEM_SNAPSHOTS; //Wait Failure int MAX_OUTSTANDING_WAIT_FAILURE_REQUESTS;