Write-behind breaks Mercurial

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>


[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux