GlusterFSとMercurialはお互いが好きではありません。

GlusterFSとMercurialはお互いが好きではありません。

GlusterFSを設定しましたが、クライアントにディレクトリをマウントし、hg clone myrepo myrepoそのマウントディレクトリで操作を実行すると、次のエラーが発生します。

requesting all changes
adding changesets
transaction abort!
rollback completed
abort: integrity check failed on 00changelog.i:6!
  1. Glusterfs以外のディレクトリに移動してから複製すると、hgは正常に動作します。
  2. コードを別のディレクトリにチェックアウトしてから、インストールされているGlusterFSディレクトリに移動して正常に動作しました。

だからMercurialやGlusterFSにバグがあるのは間違いないのですが、代替案があるかどうかはわかりません。それ以外の場合は、削除されたディレクトリでrsyncを使用する必要があります。何が起こっているのか知っていますか?

バージョン

GlusterFS 3.2.6
Mercurial 2.1.1

答え1

次のエラーが発生します。ダイレクトIOモードのサポートとキャッシュコンバータに関する変更点、説明後ろの書き込みが中断されました。このバグはGlusterFS 3.4.0で修正される予定です(3.3でも修正されるかどうかはわかりません)。ベータ版をお試しください)、Bugzilla項目によると。

回避策として、write-behind:を無効にすることをお勧めしますgluster volume set conf performance.write-behind off

関連情報