Lines Matching refs:server
71 if (server.aof_rewrite_buf_blocks) in aofRewriteBufferReset()
72 listRelease(server.aof_rewrite_buf_blocks); in aofRewriteBufferReset()
74 server.aof_rewrite_buf_blocks = listCreate(); in aofRewriteBufferReset()
75 listSetFreeMethod(server.aof_rewrite_buf_blocks,zfree); in aofRewriteBufferReset()
84 listRewind(server.aof_rewrite_buf_blocks,&li); in aofRewriteBufferSize()
105 ln = listFirst(server.aof_rewrite_buf_blocks); in aofChildWriteDiffData()
107 if (server.aof_stop_sending_diff || !block) { in aofChildWriteDiffData()
108 aeDeleteFileEvent(server.el,server.aof_pipe_write_data_to_child, in aofChildWriteDiffData()
113 nwritten = write(server.aof_pipe_write_data_to_child, in aofChildWriteDiffData()
119 if (block->used == 0) listDelNode(server.aof_rewrite_buf_blocks,ln); in aofChildWriteDiffData()
125 listNode *ln = listLast(server.aof_rewrite_buf_blocks); in aofRewriteBufferAppend()
148 listAddNodeTail(server.aof_rewrite_buf_blocks,block); in aofRewriteBufferAppend()
152 numblocks = listLength(server.aof_rewrite_buf_blocks); in aofRewriteBufferAppend()
164 if (aeGetFileEvents(server.el,server.aof_pipe_write_data_to_child) == 0) { in aofRewriteBufferAppend()
165 aeCreateFileEvent(server.el, server.aof_pipe_write_data_to_child, in aofRewriteBufferAppend()
178 listRewind(server.aof_rewrite_buf_blocks,&li); in aofRewriteBufferWrite()
208 serverAssert(server.aof_state != AOF_OFF); in stopAppendOnly()
210 aof_fsync(server.aof_fd); in stopAppendOnly()
211 close(server.aof_fd); in stopAppendOnly()
213 server.aof_fd = -1; in stopAppendOnly()
214 server.aof_selected_db = -1; in stopAppendOnly()
215 server.aof_state = AOF_OFF; in stopAppendOnly()
217 if (server.aof_child_pid != -1) { in stopAppendOnly()
221 (long) server.aof_child_pid); in stopAppendOnly()
222 if (kill(server.aof_child_pid,SIGUSR1) != -1) { in stopAppendOnly()
223 while(wait3(&statloc,0,NULL) != server.aof_child_pid); in stopAppendOnly()
227 aofRemoveTempFile(server.aof_child_pid); in stopAppendOnly()
228 server.aof_child_pid = -1; in stopAppendOnly()
229 server.aof_rewrite_time_start = -1; in stopAppendOnly()
240 server.aof_last_fsync = server.unixtime; in startAppendOnly()
241 server.aof_fd = open(server.aof_filename,O_WRONLY|O_APPEND|O_CREAT,0644); in startAppendOnly()
242 serverAssert(server.aof_state == AOF_OFF); in startAppendOnly()
243 if (server.aof_fd == -1) { in startAppendOnly()
249 server.aof_filename, in startAppendOnly()
254 if (server.rdb_child_pid != -1) { in startAppendOnly()
255 server.aof_rewrite_scheduled = 1; in startAppendOnly()
258 close(server.aof_fd); in startAppendOnly()
264 server.aof_state = AOF_WAIT_REWRITE; in startAppendOnly()
292 if (sdslen(server.aof_buf) == 0) return; in flushAppendOnlyFile()
294 if (server.aof_fsync == AOF_FSYNC_EVERYSEC) in flushAppendOnlyFile()
297 if (server.aof_fsync == AOF_FSYNC_EVERYSEC && !force) { in flushAppendOnlyFile()
302 if (server.aof_flush_postponed_start == 0) { in flushAppendOnlyFile()
305 server.aof_flush_postponed_start = server.unixtime; in flushAppendOnlyFile()
307 } else if (server.unixtime - server.aof_flush_postponed_start < 2) { in flushAppendOnlyFile()
314 server.aof_delayed_fsync++; in flushAppendOnlyFile()
325 nwritten = write(server.aof_fd,server.aof_buf,sdslen(server.aof_buf)); in flushAppendOnlyFile()
334 } else if (server.aof_child_pid != -1 || server.rdb_child_pid != -1) { in flushAppendOnlyFile()
342 server.aof_flush_postponed_start = 0; in flushAppendOnlyFile()
344 if (nwritten != (signed)sdslen(server.aof_buf)) { in flushAppendOnlyFile()
349 if ((server.unixtime - last_write_error_log) > AOF_WRITE_LOG_ERROR_RATE) { in flushAppendOnlyFile()
351 last_write_error_log = server.unixtime; in flushAppendOnlyFile()
359 server.aof_last_write_errno = errno; in flushAppendOnlyFile()
367 (long long)sdslen(server.aof_buf)); in flushAppendOnlyFile()
370 if (ftruncate(server.aof_fd, server.aof_current_size) == -1) { in flushAppendOnlyFile()
382 server.aof_last_write_errno = ENOSPC; in flushAppendOnlyFile()
386 if (server.aof_fsync == AOF_FSYNC_ALWAYS) { in flushAppendOnlyFile()
397 server.aof_last_write_status = C_ERR; in flushAppendOnlyFile()
402 server.aof_current_size += nwritten; in flushAppendOnlyFile()
403 sdsrange(server.aof_buf,nwritten,-1); in flushAppendOnlyFile()
410 if (server.aof_last_write_status == C_ERR) { in flushAppendOnlyFile()
413 server.aof_last_write_status = C_OK; in flushAppendOnlyFile()
416 server.aof_current_size += nwritten; in flushAppendOnlyFile()
420 if ((sdslen(server.aof_buf)+sdsavail(server.aof_buf)) < 4000) { in flushAppendOnlyFile()
421 sdsclear(server.aof_buf); in flushAppendOnlyFile()
423 sdsfree(server.aof_buf); in flushAppendOnlyFile()
424 server.aof_buf = sdsempty(); in flushAppendOnlyFile()
429 if (server.aof_no_fsync_on_rewrite && in flushAppendOnlyFile()
430 (server.aof_child_pid != -1 || server.rdb_child_pid != -1)) in flushAppendOnlyFile()
434 if (server.aof_fsync == AOF_FSYNC_ALWAYS) { in flushAppendOnlyFile()
438 aof_fsync(server.aof_fd); /* Let's try to get this data on the disk */ in flushAppendOnlyFile()
441 server.aof_last_fsync = server.unixtime; in flushAppendOnlyFile()
442 } else if ((server.aof_fsync == AOF_FSYNC_EVERYSEC && in flushAppendOnlyFile()
443 server.unixtime > server.aof_last_fsync)) { in flushAppendOnlyFile()
444 if (!sync_in_progress) aof_background_fsync(server.aof_fd); in flushAppendOnlyFile()
445 server.aof_last_fsync = server.unixtime; in flushAppendOnlyFile()
517 if (dictid != server.aof_selected_db) { in feedAppendOnlyFile()
523 server.aof_selected_db = dictid; in feedAppendOnlyFile()
548 if (server.aof_state == AOF_ON) in feedAppendOnlyFile()
549 server.aof_buf = sdscatlen(server.aof_buf,buf,sdslen(buf)); in feedAppendOnlyFile()
555 if (server.aof_child_pid != -1) in feedAppendOnlyFile()
617 int old_aof_state = server.aof_state; in loadAppendOnlyFile()
622 server.aof_current_size = 0; in loadAppendOnlyFile()
634 server.aof_state = AOF_OFF; in loadAppendOnlyFile()
709 if (server.aof_load_truncated) valid_up_to = ftello(fp); in loadAppendOnlyFile()
719 server.aof_state = old_aof_state; in loadAppendOnlyFile()
722 server.aof_rewrite_base_size = server.aof_current_size; in loadAppendOnlyFile()
733 if (server.aof_load_truncated) { in loadAppendOnlyFile()
747 if (server.aof_fd != -1 && lseek(server.aof_fd,0,SEEK_END) == -1) { in loadAppendOnlyFile()
1001 read(server.aof_pipe_read_data_from_parent,buf,sizeof(buf))) > 0) { in aofReadDiffFromParent()
1002 server.aof_child_diff = sdscatlen(server.aof_child_diff,buf,nread); in aofReadDiffFromParent()
1035 server.aof_child_diff = sdsempty(); in rewriteAppendOnlyFile()
1037 if (server.aof_rewrite_incremental_fsync) in rewriteAppendOnlyFile()
1039 for (j = 0; j < server.dbnum; j++) { in rewriteAppendOnlyFile()
1041 redisDb *db = server.db+j; in rewriteAppendOnlyFile()
1119 if (aeWait(server.aof_pipe_read_data_from_parent, AE_READABLE, 1) <= 0) in rewriteAppendOnlyFile()
1130 if (write(server.aof_pipe_write_ack_to_parent,"!",1) != 1) goto werr; in rewriteAppendOnlyFile()
1131 if (anetNonBlock(NULL,server.aof_pipe_read_ack_from_parent) != ANET_OK) in rewriteAppendOnlyFile()
1136 if (syncRead(server.aof_pipe_read_ack_from_parent,&byte,1,5000) != 1 || in rewriteAppendOnlyFile()
1146 (double) sdslen(server.aof_child_diff) / (1024*1024)); in rewriteAppendOnlyFile()
1147 if (rioWrite(&aof,server.aof_child_diff,sdslen(server.aof_child_diff)) == 0) in rewriteAppendOnlyFile()
1188 server.aof_stop_sending_diff = 1; in aofChildPipeReadable()
1189 if (write(server.aof_pipe_write_ack_to_child,"!",1) != 1) { in aofChildPipeReadable()
1200 aeDeleteFileEvent(server.el,server.aof_pipe_read_ack_from_child,AE_READABLE); in aofChildPipeReadable()
1218 …if (aeCreateFileEvent(server.el, fds[2], AE_READABLE, aofChildPipeReadable, NULL) == AE_ERR) goto … in aofCreatePipes()
1220 server.aof_pipe_write_data_to_child = fds[1]; in aofCreatePipes()
1221 server.aof_pipe_read_data_from_parent = fds[0]; in aofCreatePipes()
1222 server.aof_pipe_write_ack_to_parent = fds[3]; in aofCreatePipes()
1223 server.aof_pipe_read_ack_from_child = fds[2]; in aofCreatePipes()
1224 server.aof_pipe_write_ack_to_child = fds[5]; in aofCreatePipes()
1225 server.aof_pipe_read_ack_from_parent = fds[4]; in aofCreatePipes()
1226 server.aof_stop_sending_diff = 0; in aofCreatePipes()
1237 aeDeleteFileEvent(server.el,server.aof_pipe_read_ack_from_child,AE_READABLE); in aofClosePipes()
1238 aeDeleteFileEvent(server.el,server.aof_pipe_write_data_to_child,AE_WRITABLE); in aofClosePipes()
1239 close(server.aof_pipe_write_data_to_child); in aofClosePipes()
1240 close(server.aof_pipe_read_data_from_parent); in aofClosePipes()
1241 close(server.aof_pipe_write_ack_to_parent); in aofClosePipes()
1242 close(server.aof_pipe_read_ack_from_child); in aofClosePipes()
1243 close(server.aof_pipe_write_ack_to_child); in aofClosePipes()
1244 close(server.aof_pipe_read_ack_from_parent); in aofClosePipes()
1267 if (server.aof_child_pid != -1 || server.rdb_child_pid != -1) return C_ERR; in rewriteAppendOnlyFileBackground()
1291 server.stat_fork_time = ustime()-start; in rewriteAppendOnlyFileBackground()
1292 …server.stat_fork_rate = (double) zmalloc_used_memory() * 1000000 / server.stat_fork_time / (1024*1… in rewriteAppendOnlyFileBackground()
1293 latencyAddSampleIfNeeded("fork",server.stat_fork_time/1000); in rewriteAppendOnlyFileBackground()
1302 server.aof_rewrite_scheduled = 0; in rewriteAppendOnlyFileBackground()
1303 server.aof_rewrite_time_start = time(NULL); in rewriteAppendOnlyFileBackground()
1304 server.aof_child_pid = childpid; in rewriteAppendOnlyFileBackground()
1310 server.aof_selected_db = -1; in rewriteAppendOnlyFileBackground()
1318 if (server.aof_child_pid != -1) { in bgrewriteaofCommand()
1320 } else if (server.rdb_child_pid != -1) { in bgrewriteaofCommand()
1321 server.aof_rewrite_scheduled = 1; in bgrewriteaofCommand()
1346 if (redis_fstat(server.aof_fd,&sb) == -1) { in aofUpdateCurrentSize()
1350 server.aof_current_size = sb.st_size; in aofUpdateCurrentSize()
1372 (int)server.aof_child_pid); in backgroundRewriteDoneHandler()
1419 if (server.aof_fd == -1) { in backgroundRewriteDoneHandler()
1425 oldfd = open(server.aof_filename,O_RDONLY|O_NONBLOCK); in backgroundRewriteDoneHandler()
1434 if (rename(tmpfile,server.aof_filename) == -1) { in backgroundRewriteDoneHandler()
1438 server.aof_filename, in backgroundRewriteDoneHandler()
1447 if (server.aof_fd == -1) { in backgroundRewriteDoneHandler()
1453 oldfd = server.aof_fd; in backgroundRewriteDoneHandler()
1454 server.aof_fd = newfd; in backgroundRewriteDoneHandler()
1455 if (server.aof_fsync == AOF_FSYNC_ALWAYS) in backgroundRewriteDoneHandler()
1457 else if (server.aof_fsync == AOF_FSYNC_EVERYSEC) in backgroundRewriteDoneHandler()
1459 server.aof_selected_db = -1; /* Make sure SELECT is re-issued */ in backgroundRewriteDoneHandler()
1461 server.aof_rewrite_base_size = server.aof_current_size; in backgroundRewriteDoneHandler()
1465 sdsfree(server.aof_buf); in backgroundRewriteDoneHandler()
1466 server.aof_buf = sdsempty(); in backgroundRewriteDoneHandler()
1469 server.aof_lastbgrewrite_status = C_OK; in backgroundRewriteDoneHandler()
1473 if (server.aof_state == AOF_WAIT_REWRITE) in backgroundRewriteDoneHandler()
1474 server.aof_state = AOF_ON; in backgroundRewriteDoneHandler()
1485 server.aof_lastbgrewrite_status = C_ERR; in backgroundRewriteDoneHandler()
1489 server.aof_lastbgrewrite_status = C_ERR; in backgroundRewriteDoneHandler()
1498 aofRemoveTempFile(server.aof_child_pid); in backgroundRewriteDoneHandler()
1499 server.aof_child_pid = -1; in backgroundRewriteDoneHandler()
1500 server.aof_rewrite_time_last = time(NULL)-server.aof_rewrite_time_start; in backgroundRewriteDoneHandler()
1501 server.aof_rewrite_time_start = -1; in backgroundRewriteDoneHandler()
1503 if (server.aof_state == AOF_WAIT_REWRITE) in backgroundRewriteDoneHandler()
1504 server.aof_rewrite_scheduled = 1; in backgroundRewriteDoneHandler()