MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / trimReplicationBacklog

Function trimReplicationBacklog

src/replication.cpp:5766–5778  ·  view source on GitHub ↗

If we automatically grew the backlog we need to trim it back to the config setting when possible

Source from the content-addressed store, hash-verified

5764// If we automatically grew the backlog we need to trim it back to
5765// the config setting when possible
5766void trimReplicationBacklog() {
5767 serverAssert(GlobalLocksAcquired());
5768 serverAssert(g_pserver->repl_batch_offStart < 0); // we shouldn't be in a batch
5769 if (g_pserver->repl_backlog_size <= g_pserver->repl_backlog_config_size)
5770 return; // We're already a good size
5771 if (g_pserver->repl_lowest_off > 0 && (g_pserver->master_repl_offset - g_pserver->repl_lowest_off + 1) > g_pserver->repl_backlog_config_size)
5772 return; // There is untransmitted data we can't truncate
5773 if (cserver.force_backlog_disk && g_pserver->repl_backlog == g_pserver->repl_backlog_disk)
5774 return; // We're already in the disk backlog and we're told to stay there
5775
5776 serverLog(LL_NOTICE, "Reclaiming %lld replication backlog bytes", g_pserver->repl_backlog_size - g_pserver->repl_backlog_config_size);
5777 resizeReplicationBacklog(g_pserver->repl_backlog_config_size);
5778}

Callers 1

replicationCronFunction · 0.85

Calls 3

GlobalLocksAcquiredFunction · 0.85
serverLogFunction · 0.85
resizeReplicationBacklogFunction · 0.85

Tested by

no test coverage detected