我正在使用 orientdb 社区版 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 和 celery 来排队任务。在正常模式下运行 orientDB 时,当我收到“ConcurrentModificationException”错误时,celery 将重试该任务并且通常会成功。在分布式模式下运行时,该任务一直失败,因为顶点版本似乎永远不会匹配。
不管我做什么,我都会不断收到“ ConcurrentModificationException ”。
我可以在配置中看到 mvcc 仍然处于启用状态。
我以为我尝试了文档建议的所有内容,但在分布式模式下运行的所有细微差别都分散在文档中,而不是在一个地方。很容易错过一些东西:(
我怎样才能避免这个问题?