diff options
author | antirez <antirez@gmail.com> | 2014-12-23 14:52:57 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2014-12-23 14:54:34 +0100 |
commit | 840435ad0be252094b118af428590ba45ba1cec2 (patch) | |
tree | 8c33823f90053a9815948b8cba3d0aa0ad442d87 /src/redis.c | |
parent | 5888290d260cd60aedcd695c8625eadb6f2c349e (diff) | |
download | redis-840435ad0be252094b118af428590ba45ba1cec2.tar.gz |
INFO loading stats: three fixes.
1. Server unxtime may remain not updated while loading AOF, so ETA is
not updated correctly.
2. Number of processed byte was not initialized.
3. Possible division by zero condition (likely cause of issue #1932).
Diffstat (limited to 'src/redis.c')
-rw-r--r-- | src/redis.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/redis.c b/src/redis.c index e38f9247a..d68065512 100644 --- a/src/redis.c +++ b/src/redis.c @@ -2804,14 +2804,14 @@ sds genRedisInfoString(char *section) { server.loading_loaded_bytes; perc = ((double)server.loading_loaded_bytes / - server.loading_total_bytes) * 100; + (server.loading_total_bytes+1)) * 100; - elapsed = server.unixtime-server.loading_start_time; + elapsed = time(NULL)-server.loading_start_time; if (elapsed == 0) { eta = 1; /* A fake 1 second figure if we don't have enough info */ } else { - eta = (elapsed*remaining_bytes)/server.loading_loaded_bytes; + eta = (elapsed*remaining_bytes)/(server.loading_loaded_bytes+1); } info = sdscatprintf(info, |