Hi Simon, This issue is a variant of Bug 801 (http://bugs.gluster.com/show_bug.cgi?id=801).<http://bugs.gluster.com/show_bug.cgi?id=801%29.> Mercurial is accessing file /uwsgi/.hg/store/00changelog.i.a using two fds. Based on default policy of glusterfs whether to use direct-io-mode or buffered-mode, one of the fd is accessing the file in direct-io-mode and other in buffered mode. As mentioned in comment #27 of the bug, this has some issues. As a work around, you can use --direct-io-mode option of glusterfs to override the default behaviour (It does not make difference for this problem whether you set it on or off). Please let us know, whether this fixes your issue. regards, Raghavendra. ________________________________ From: gluster-users-bounces at gluster.org [gluster-users-bounces at gluster.org] on behalf of Anand Avati [anand.avati at gmail.com] Sent: Thursday, June 09, 2011 8:05 PM To: Simon Litchfield Cc: gluster-users at gluster.org Subject: Re: Write-behind breaks Mercurial This is interesting. write-behind guarantees ordering of read/write such that you always read written data. Do you happen to know if Mercurial reads and writes from different file descriptors on the same file? Can you give us logs and configuration details of your setup? Avati On Mon, Jun 6, 2011 at 10:41 PM, Simon Litchfield <simon at s29.com.au<mailto:simon at s29.com.au>> wrote: Hi all It seems Mercurial doesn't work with "write behind" on. Any ideas? With write-behind -- root at dj1:~/mnt# gluster volume set conf performance.write-behind on Set volume successful root at dj1:~/mnt# hg clone http://projects.unbit.it/hg/uwsgi destination directory: uwsgi requesting all changes adding changesets transaction abort! rollback completed abort: integrity check failed on 00changelog.i:24! Without write-behind -- root at dj1:~/mnt# gluster volume set conf performance.write-behind off Set volume successful root at dj1:~/mnt# hg clone http://projects.unbit.it/hg/uwsgi destination directory: uwsgi requesting all changes adding changesets adding manifests adding file changes added 1169 changesets with 3532 changes to 332 files updating to branch default 278 files updated, 0 files merged, 0 files removed, 0 files unresolved Shouldn't the write behind cache be reading unwritten data before it hits the disk? Cheers Simon _______________________________________________ Gluster-users mailing list Gluster-users at gluster.org<mailto:Gluster-users at gluster.org> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://gluster.org/pipermail/gluster-users/attachments/20110610/41755109/attachment.htm>