5

I did setup GlusterFS but when I mounted the directory on the client and did hg clone myrepo myrepo in that mounted directory, it's giving the following error:

requesting all changes
adding changesets
transaction abort!
rollback completed
abort: integrity check failed on 00changelog.i:6!
  1. When I go to a none Glusterfs directory then clone, hg works fine.
  2. I checked out the code to a different directory then moved it to the mounted GlusterFS directory and it works fine.

So it must be that either Mercurial or GlusterFS has a bug but don't know if there is an alternative. Else I will have to use rsync from non mounted directory. Any idea what's going on here?

Versions

GlusterFS 3.2.6
Mercurial 2.1.1
imz -- Ivan Zakharyaschev
  • 15,113
  • 15
  • 61
  • 123
vimdude
  • 415
  • 2
  • 8

1 Answers1

6

It looks like this bug: Direct io-mode support and related changes in caching translators, described in Write-behind breaks Mercurial. The bug will be fixed in GlusterFS 3.4.0 (I don't know if is fixed in 3.3, anyway try the beta), according to the Bugzilla entry.

As a workaround, is suggested to disable write-behind: gluster volume set conf performance.write-behind off.

Renan
  • 16,976
  • 8
  • 69
  • 88