私は orientdb community edition 2.2.9 を pyorient のバイナリ シリアライザー (開発ブランチ) と共に使用しています。
AWS で 3 つのノードを実行しています。
書き込み/読み取り用のマスターとして 1 つのノードのみを使用し、読み取りとレプリケーション用に他のノードを使用しています。
次のようにノードを構成しました。
<properties>
<entry value="2147483647" name="ridBag.embeddedToSbtreeBonsaiThreshold"/>
<entry value="-1" name="index.embeddedToSbtreeBonsaiThreshold"/>
</properties>
私は Java を使用していないので、ドキュメントの MVCC の例はあまり役に立ちません。
私もトランザクションを使用しておらず、次のパラメーターを使用してサーバーを起動しています。
java -Dcache.level1.enabled=false -Ddb.mvcc=false
mvcc をこれ以上無効にできないというドキュメントを読んだので、mvcc の設定は役に立たないと思います。
タスクをキューに入れるためにrabbitmqとセロリを使用しています。通常モードでorientDBを実行しているときに「ConcurrentModificationException」エラーが発生すると、セロリはそのタスクを再試行するだけで、通常は成功します。分散モードで実行すると、頂点のバージョンが一致しないように見えるため、そのタスクは失敗し続けます。
何をしても、「ConcurrentModificationException」が発生し続けます。
mvccがまだ有効になっていることが構成でわかります。
ドキュメントで提案されていることはすべて試したと思いますが、分散モードでの実行のすべてのニュアンスは、1 か所ではなく、ドキュメント全体に散らばっています。何かを見逃すのはとても簡単です:(
この問題を回避するにはどうすればよいですか?