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

Function createReplicationBacklog

src/replication.cpp:222–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

220}
221
222void createReplicationBacklog(void) {
223 serverAssert(g_pserver->repl_backlog == NULL);
224 if (cserver.repl_backlog_disk_size) {
225 if (!createDiskBacklog()) {
226 serverLog(LL_WARNING, "Failed to create disk backlog, will use memory only");
227 }
228 }
229 if (cserver.force_backlog_disk && g_pserver->repl_backlog_disk != nullptr) {
230 g_pserver->repl_backlog = g_pserver->repl_backlog_disk;
231 g_pserver->repl_backlog_size = cserver.repl_backlog_disk_size;
232 } else {
233 g_pserver->repl_backlog = (char*)zmalloc(g_pserver->repl_backlog_size, MALLOC_LOCAL);
234 }
235 g_pserver->repl_backlog_histlen = 0;
236 g_pserver->repl_backlog_idx = 0;
237 g_pserver->repl_backlog_start = g_pserver->master_repl_offset;
238
239 /* We don't have any data inside our buffer, but virtually the first
240 * byte we have is the next byte that will be generated for the
241 * replication stream. */
242 g_pserver->repl_backlog_off = g_pserver->master_repl_offset+1;
243
244 /* Allow transmission to clients */
245 g_pserver->repl_batch_idxStart = 0;
246 g_pserver->repl_batch_offStart = g_pserver->master_repl_offset;
247}
248
249/* Compute the corresponding index from a replication backlog offset
250 * Since this computation needs the size of the replication backlog,

Callers 1

syncCommandFunction · 0.85

Calls 3

createDiskBacklogFunction · 0.85
serverLogFunction · 0.85
zmallocFunction · 0.85

Tested by

no test coverage detected