On Thu, Aug 07, 2014 at 03:17:11PM +0530, Ravishankar N wrote: > On 08/07/2014 03:06 PM, Niels de Vos wrote: > >On Thu, Aug 07, 2014 at 02:05:34PM +0530, Ravishankar N wrote: > >>Manual resolution of split-brains [1] has been a tedious task > >>involving understanding and modifying AFR's changelog extended > >>attributes. To simplify and to an extent automate this task, we are > >>proposing a new CLI command with which the user can specify what > >>the source brick/file is, and automatically heal the files in the > >>appropriate direction. > >What about automatically healing directories that are in split-brain? > > Conservative merge happens when possible while healing directories, > but yes gfid split-brain (one brick having a file with gfid-g1 and > the other having a directory with the same gfid-g1) won't be > resolved with this command. The reason why are not wanting to it > right now is resolving such split-brains involves > unlinking/rmdir'ing one of the entries and is best when we integrate > with trash xlator. Okay, good to know. Thanks! Niels > >Thanks, > >Niels > > > >>Command: gluster volume resolve-split-brain <VOLNAME> {<bigger_file> > >>| source-brick <brick_name> [<file>] } > >> > >>Breaking up the command into its possible options, we have: > >> > >>a) gluster volume resolve-split-brain <VOLNAME> <bigger_file> > >>When this command is executed, AFR will consider the brick having > >>the highest file size as the source and heal it to all other bricks > >>(including all other sources and sinks) in that replica subvolume. > >>If the file size is same in all the bricks, it does *not* heal the > >>file. > >> > >>b) gluster volume resolve-split-brain <VOLNAME > source-brick > >><brick_name > [<file>] > >> > >>When this command is executed, if <file> is specified, AFR heals the > >>file from the source-brick <brick_name> to all other bricks of that > >>replica subvolume. For resolving multiple files, the command must be > >>run iteratively, once per file. > >>If <file> is not specified, AFR heals all the files that have an > >>entry in .glusterfs/indices/xattrop *and* are in split-brain. As > >>before, heals happen from source-brick <brick_name> to all other > >>bricks. > >> > >>Future work could also include extending the command to add other > >>policies like choosing the file having the latest mtime as the > >>source, integration with trash xlator wherein the files deleted from > >>the sink are moved to the trash dir etc. > >> > >>Please give feedback on the above. > >> > >>Regards, > >>Ravi > >> > >>[1] https://github.com/gluster/glusterfs/blob/master/doc/split-brain.md > >>_______________________________________________ > >>Gluster-devel mailing list > >>Gluster-devel@xxxxxxxxxxx > >>http://supercolony.gluster.org/mailman/listinfo/gluster-devel > _______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://supercolony.gluster.org/mailman/listinfo/gluster-devel