[Adding the right alias for gluster-devel]

On 08/24/2014 05:57 PM, Ajeet Jha wrote:
Hi all,

The current design barriers rename and unlink(in changelog xlator) and allows normal 
creates and data operations. Geo-replication further relies on xsync (ie. marker 
xlators's xtime updation) for syncing. This design was taking care of one of the most 
genuine use-case of not blocking normal archival copy techniques (ie.."copy -a 
..." ). But the marker translator being unable to propagate change in xtime till 
root, in snap volume, causes xsync to miss syncing few files.

The change is design, plans to block/barrier all fops other than data 
operation(writev and truncate) and store changelogs in call-path with O_SYNC 
mode and call-back path as well. This call-path journelling in triggered by 
barrier enable and later stopped with barrier disable notification. Further, 
this call-path changelog gets replaced among normal changelogs(recorded in 
call-back path). And later reused in history-api call by geo-replication.

A few questions:

- If changelog updates its journal in call path of fops, why is barriering of such fops needed?

- What kind of updates happen to the journal in the call and call-back paths?

Vijay


After brief talk with Venky on design change, i assume that there are few 
implications.
1. Breakage of initial design use-cases, like non-blocking archival copy during 
snapshot.
2. Call-path changelog in written in O_SYNC which may cause a huge delay in fop 
completion.
3. Large memory usage during barrier of all fops.
​​
I request for suggestions on the change in design.
​​


_______________________________________________
Gluster-devel mailing list
[email protected]
http://supercolony.gluster.org/mailman/listinfo/gluster-devel

Reply via email to