Added TLOG_POP_BATCH_SIZE knob

This commit is contained in:
sfc-gh-tclinkenbeard 2020-12-03 09:40:41 -08:00
parent 1003057a7e
commit 7e815ebb68
3 changed files with 3 additions and 2 deletions

View File

@ -101,6 +101,7 @@ void ServerKnobs::initialize(bool randomize, ClientKnobs* clientKnobs, bool isSi
init( PUSH_STATS_INTERVAL, 10.0 );
init( PUSH_STATS_SLOW_AMOUNT, 2 );
init( PUSH_STATS_SLOW_RATIO, 0.5 );
init( TLOG_POP_BATCH_SIZE, 1000 ); if ( randomize && BUGGIFY ) TLOG_POP_BATCH_SIZE = 10;
// disk snapshot max timeout, to be put in TLog, storage and coordinator nodes
init( SNAP_CREATE_MAX_TIMEOUT, 300.0 );

View File

@ -99,6 +99,7 @@ public:
double PUSH_STATS_INTERVAL;
double PUSH_STATS_SLOW_AMOUNT;
double PUSH_STATS_SLOW_RATIO;
int TLOG_POP_BATCH_SIZE;
// Data distribution queue
double HEALTH_POLL_TIME;

View File

@ -1054,7 +1054,6 @@ ACTOR Future<Void> tLogPopCore( TLogData* self, Tag inputTag, Version to, Refere
}
ACTOR Future<Void> processPopRequests(TLogData* self, Reference<LogData> logData) {
state const size_t batchSize = 1000;
state std::vector<Future<Void>> ignoredPops;
state std::map<Tag, Version>::const_iterator it;
state int ignoredPopsPlayed = 0;
@ -1068,7 +1067,7 @@ ACTOR Future<Void> processPopRequests(TLogData* self, Reference<LogData> logData
const auto& [tag, version] = *it;
TraceEvent("PlayIgnoredPop").detail("Tag", tag.toString()).detail("Version", version);
ignoredPops.push_back(tLogPopCore(self, tag, version, logData));
if (++ignoredPopsPlayed % batchSize == 0) {
if (++ignoredPopsPlayed % SERVER_KNOBS->TLOG_POP_BATCH_SIZE == 0) {
wait(yield());
}
}