Four new persistence fields in INFO. A few renamed.
The 'persistence' section of INFO output now contains additional four fields related to RDB and AOF persistence: rdb_last_bgsave_time_sec Duration of latest BGSAVE in sec. rdb_current_bgsave_time_sec Duration of current BGSAVE in sec. aof_last_rewrite_time_sec Duration of latest AOF rewrite in sec. aof_current_rewrite_time_sec Duration of current AOF rewrite in sec. The 'current' fields are set to -1 if a BGSAVE / AOF rewrite is not in progress. The 'last' fileds are set to -1 if no previous BGSAVE / AOF rewrites were performed. Additionally a few fields in the persistence section were renamed for consistency: changes_since_last_save -> rdb_changes_since_last_save bgsave_in_progress -> rdb_bgsave_in_progress last_save_time -> rdb_last_save_time last_bgsave_status -> rdb_last_bgsave_status bgrewriteaof_in_progress -> aof_rewrite_in_progress bgrewriteaof_scheduled -> aof_rewrite_scheduled After the renaming, fields in the persistence section start with rdb_ or aof_ prefix depending on the persistence method they describe. The field 'loading' and related fields are not prefixed because they are unique for both the persistence methods.
This commit is contained in:
parent
d866803818
commit
33e1db36fa
@ -154,6 +154,7 @@ void stopAppendOnly(void) {
|
||||
aofRewriteBufferReset();
|
||||
aofRemoveTempFile(server.aof_child_pid);
|
||||
server.aof_child_pid = -1;
|
||||
server.aof_rewrite_time_start = -1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -941,6 +942,7 @@ int rewriteAppendOnlyFileBackground(void) {
|
||||
redisLog(REDIS_NOTICE,
|
||||
"Background append only file rewriting started by pid %d",childpid);
|
||||
server.aof_rewrite_scheduled = 0;
|
||||
server.aof_rewrite_time_start = time(NULL);
|
||||
server.aof_child_pid = childpid;
|
||||
updateDictResizePolicy();
|
||||
/* We set appendseldb to -1 in order to force the next call to the
|
||||
@ -1113,6 +1115,8 @@ cleanup:
|
||||
aofRewriteBufferReset();
|
||||
aofRemoveTempFile(server.aof_child_pid);
|
||||
server.aof_child_pid = -1;
|
||||
server.aof_rewrite_time_last = time(NULL)-server.aof_rewrite_time_start;
|
||||
server.aof_rewrite_time_start = -1;
|
||||
/* Schedule a new rewrite if we are waiting for it to switch the AOF ON. */
|
||||
if (server.aof_state == REDIS_AOF_WAIT_REWRITE)
|
||||
server.aof_rewrite_scheduled = 1;
|
||||
|
@ -708,6 +708,7 @@ int rdbSaveBackground(char *filename) {
|
||||
return REDIS_ERR;
|
||||
}
|
||||
redisLog(REDIS_NOTICE,"Background saving started by pid %d",childpid);
|
||||
server.rdb_save_time_start = time(NULL);
|
||||
server.rdb_child_pid = childpid;
|
||||
updateDictResizePolicy();
|
||||
return REDIS_OK;
|
||||
@ -1152,6 +1153,8 @@ void backgroundSaveDoneHandler(int exitcode, int bysignal) {
|
||||
server.lastbgsave_status = REDIS_ERR;
|
||||
}
|
||||
server.rdb_child_pid = -1;
|
||||
server.rdb_save_time_last = time(NULL)-server.rdb_save_time_start;
|
||||
server.rdb_save_time_start = -1;
|
||||
/* Possibly there are slaves waiting for a BGSAVE in order to be served
|
||||
* (the first stage of SYNC is a bulk transfer of dump.rdb) */
|
||||
updateSlavesWaitingBgsave(exitcode == 0 ? REDIS_OK : REDIS_ERR);
|
||||
|
30
src/redis.c
30
src/redis.c
@ -1111,6 +1111,8 @@ void initServerConfig() {
|
||||
server.aof_rewrite_base_size = 0;
|
||||
server.aof_rewrite_scheduled = 0;
|
||||
server.aof_last_fsync = time(NULL);
|
||||
server.aof_rewrite_time_last = -1;
|
||||
server.aof_rewrite_time_start = -1;
|
||||
server.aof_delayed_fsync = 0;
|
||||
server.aof_fd = -1;
|
||||
server.aof_selected_db = -1; /* Make sure the first time will not match */
|
||||
@ -1304,6 +1306,8 @@ void initServer() {
|
||||
aofRewriteBufferReset();
|
||||
server.aof_buf = sdsempty();
|
||||
server.lastsave = time(NULL);
|
||||
server.rdb_save_time_last = -1;
|
||||
server.rdb_save_time_start = -1;
|
||||
server.dirty = 0;
|
||||
server.stat_numcommands = 0;
|
||||
server.stat_numconnections = 0;
|
||||
@ -1900,21 +1904,31 @@ sds genRedisInfoString(char *section) {
|
||||
info = sdscatprintf(info,
|
||||
"# Persistence\r\n"
|
||||
"loading:%d\r\n"
|
||||
"rdb_changes_since_last_save:%lld\r\n"
|
||||
"rdb_bgsave_in_progress:%d\r\n"
|
||||
"rdb_last_save_time:%ld\r\n"
|
||||
"rdb_last_bgsave_status:%s\r\n"
|
||||
"rdb_last_bgsave_time_sec:%ld\r\n"
|
||||
"rdb_current_bgsave_time_sec:%ld\r\n"
|
||||
"aof_enabled:%d\r\n"
|
||||
"changes_since_last_save:%lld\r\n"
|
||||
"bgsave_in_progress:%d\r\n"
|
||||
"last_save_time:%ld\r\n"
|
||||
"last_bgsave_status:%s\r\n"
|
||||
"bgrewriteaof_in_progress:%d\r\n"
|
||||
"bgrewriteaof_scheduled:%d\r\n",
|
||||
"aof_rewrite_in_progress:%d\r\n"
|
||||
"aof_rewrite_scheduled:%d\r\n"
|
||||
"aof_last_rewrite_time_sec:%ld\r\n"
|
||||
"aof_current_rewrite_time_sec:%ld\r\n",
|
||||
server.loading,
|
||||
server.aof_state != REDIS_AOF_OFF,
|
||||
server.dirty,
|
||||
server.rdb_child_pid != -1,
|
||||
server.lastsave,
|
||||
server.lastbgsave_status == REDIS_OK ? "ok" : "err",
|
||||
server.rdb_save_time_last,
|
||||
(server.rdb_child_pid == -1) ?
|
||||
-1 : time(NULL)-server.rdb_save_time_start,
|
||||
server.aof_state != REDIS_AOF_OFF,
|
||||
server.aof_child_pid != -1,
|
||||
server.aof_rewrite_scheduled);
|
||||
server.aof_rewrite_scheduled,
|
||||
server.aof_rewrite_time_last,
|
||||
(server.aof_child_pid == -1) ?
|
||||
-1 : time(NULL)-server.aof_rewrite_time_start);
|
||||
|
||||
if (server.aof_state != REDIS_AOF_OFF) {
|
||||
info = sdscatprintf(info,
|
||||
|
@ -640,6 +640,8 @@ struct redisServer {
|
||||
int aof_selected_db; /* Currently selected DB in AOF */
|
||||
time_t aof_flush_postponed_start; /* UNIX time of postponed AOF flush */
|
||||
time_t aof_last_fsync; /* UNIX time of last fsync() */
|
||||
time_t aof_rewrite_time_last; /* Time used by last AOF rewrite run. */
|
||||
time_t aof_rewrite_time_start; /* Current AOF rewrite start time. */
|
||||
unsigned long aof_delayed_fsync; /* delayed AOF fsync() counter */
|
||||
/* RDB persistence */
|
||||
long long dirty; /* Changes to DB from the last save */
|
||||
@ -651,6 +653,8 @@ struct redisServer {
|
||||
int rdb_compression; /* Use compression in RDB? */
|
||||
int rdb_checksum; /* Use RDB checksum? */
|
||||
time_t lastsave; /* Unix time of last save succeeede */
|
||||
time_t rdb_save_time_last; /* Time used by last RDB save run. */
|
||||
time_t rdb_save_time_start; /* Current RDB save start time. */
|
||||
int lastbgsave_status; /* REDIS_OK or REDIS_ERR */
|
||||
int stop_writes_on_bgsave_err; /* Don't allow writes if can't BGSAVE */
|
||||
/* Propagation of commands in AOF / replication */
|
||||
|
Loading…
x
Reference in New Issue
Block a user