If we automatically grew the backlog we need to trim it back to the config setting when possible
| 5764 | // If we automatically grew the backlog we need to trim it back to |
| 5765 | // the config setting when possible |
| 5766 | void 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 | } |
no test coverage detected