我确实设置了 GlusterFS,但是当我在客户端上安装目录并hg clone myrepo myrepo
在该安装目录中执行操作时,出现以下错误:
requesting all changes
adding changesets
transaction abort!
rollback completed
abort: integrity check failed on 00changelog.i:6!
- 当我进入非 Glusterfs 目录然后克隆时,hg 工作正常。
- 我将代码签出到另一个目录,然后将其移动到安装的 GlusterFS 目录,它工作正常。
所以肯定是 Mercurial 或 GlusterFS 有 bug,但不知道是否有替代方案。否则我将不得不使用未安装目录中的 rsync 。知道这是怎么回事吗?
版本
GlusterFS 3.2.6
Mercurial 2.1.1
答案1
看起来像这个错误:直接 io 模式支持以及缓存转换器的相关更改,描述于后写破坏 Mercurial。该错误将在 GlusterFS 3.4.0 中修复(我不知道是否在 3.3 中修复,反正尝试测试版),根据 Bugzilla 条目。
作为解决方法,建议禁用 write-behind: gluster volume set conf performance.write-behind off
。