diff options
author | Kotresh H R <khiremat@redhat.com> | 2014-06-28 12:18:52 +0530 |
---|---|---|
committer | Venky Shankar <vshankar@redhat.com> | 2014-06-30 04:25:48 -0700 |
commit | 2417de9c37d83e36567551dc682bb23f851fd2d7 (patch) | |
tree | 22454ed7506b1d484e52dc7107ff5821560a2fdd /cli/src/cli-cmd-misc.c | |
parent | fe59c3485406cda02950e20f57d0ecc0cf964546 (diff) |
feature/changelog: Fix for missing changelogs at backend.
Problem:
A few changelog files are missing at the backend
during snapshot with changelog enabled.
Cause:
Race between actual rollover and explicit rollover.
Changelog rollover can happen either due to actual
or the explict rollover due to snapshot. Actual
rollover is controlled by tuneable called rollover-time.
The minimum granularity for rollover-time is 1 second
Explicit rollover is asynchronous in nature and happens
during snapshot.
Basically, rollover renames the current CHANGELOG file
to CHANGELOG.TIMESTAMP after rollover-time. Let's assume,
at time 't1', actual and explicit rollover raced against
each other and actual rollover won the race renaming the
CHANGELOG file to CHANGELOG.t1 and opens a new
CHANGELOG file. An immediate explicit rollover at time
't1' happened with in the same second to rename
CHANGELOG file to CHANGELOG.t1 resulting in purging the
earlier CHANGELOG.t1 file created by actual rollover.
Solution:
Adding a delay of 1 sec guarantees unique CHANGELOG.TIMESTAMP
during explicit rollover.
Thanks Venky, for the all the help in root causing the issue.
Change-Id: I8958824e107e16f61be9f09a11d95f8645ecf34d
BUG: 1109692
Signed-off-by: Kotresh H R <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/8196
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Venky Shankar <vshankar@redhat.com>
Diffstat (limited to 'cli/src/cli-cmd-misc.c')
0 files changed, 0 insertions, 0 deletions