diff options
| author | Csaba Henk <csaba@redhat.com> | 2012-05-22 16:08:48 +0530 |
|---|---|---|
| committer | Csaba Henk <csaba@redhat.com> | 2012-06-14 00:50:17 +0530 |
| commit | 34898b8c3e0bab48970b6f9a5e0229290ec78f38 (patch) | |
| tree | 6136557ca2c9e875c1746bf00b480edc4cd253aa /cli/src/cli-rpc-ops.c | |
| parent | 6330fdca82fccf730636f93f37384b0ab02f3ec0 (diff) | |
gsyncd / geo-rep : failover/failback
This commit is based on Venky Shankar <vshankar@>'s
original implementation. Let us first quote Venky's
description, then we summarize changes to his work.
------
First version of failover/failback.
Failback mechanism uses two exclusive modes:
* blind-sync
This mode works with xtime pairs (both master and slave) to
identify candidated to sync the original master from the slave
* wrapup-sync
This mode is similar to the normal working of gsyncd except
that orphaned entities in the gluster volume are not assigned
xtimes. This prevents un-necessary transfer of data for such
entities.
Modes can be enabled via:
gluster volume geo-replication M S config special_sync_mode blind
gluster volume geo-replication M S config special_sync_mode wrapup
To turn off the special modes (i.e. to revert to normal gsyncd behaviour) use:
gluster volume geo-replication colon-d0 192.168.1.2::colon-d config \!special_sync_mode
------
Code has been refactored to meet following goals:
- make checkpointing work with special sync modes
- move out sync mode related conditionals from the crawl
loop and make all decisions to be made at startup
time
- be intrusive to the crawl loop to smallest possible degree
(we will have to change/revisit it for other reasons,
and the complexity of that should not increase)
So, xtime parsing/updating/evaluation that's specific to
the certain special modes are represented as mixin classes;
basic operation logic is in an abstract base class.
On startup, special-sync-mode tunable is dynamically dispatched
to the corresponding mixin and the actual master class is
derived from the chosen mixin and the ABS.
Change-Id: Ic9b8448f31ad4239a8200dc689f7d713662a67de
BUG: 830497
Signed-off-by: Csaba Henk <csaba@redhat.com>
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
0 files changed, 0 insertions, 0 deletions
