Oak集群中的数据一致性

时间:2017-05-16 08:04:45

标签: mongodb jackrabbit jackrabbit-oak

我在群集配置中使用Jackrabbit Oak 1.6.1(使用默认配置)。 有一个mongodb服务器,其中包含一个Oak DB。 两个Oak实例正在运行Intellij,所以我可以调试它们中的每一个。每个Oak实例都在clusterNodes集合中记录自己,一切运行良好。

但我与其他外部服务(文件转换器,事件总线等)进行了交互,因此我发现两个Oak实例同时看不到相同数据的情况(集群不一致)

情景:

  1. 将节点添加到Oak1上的文件夹(带有二进制子节点)
  2. Oak 1记录节点,二进制节点并提交 session.save()
  3. Oak 1将二进制文件发送到文件转换器服务
  4. 转换完成后,转换器服务会调用Oak 2 使用转换后的二进制文件(添加到父节点)
  5. Oak 2尝试在
  6. 之前几毫秒获取Oak 1创建的节点
  7. Oak 2抛出ItemNotFoundException
  8. 为了测试,我让Oak 2等到节点出现。并且该节点在Oak 1创建后大约500到1000毫秒时可见。

    有人在集群模式下使用Oak吗?有没有人看到过这种问题?

    由于

0 个答案:

没有答案