在我们的Raven数据库实例中,我们会定期获得并发异常。这一直困惑我,因为我们没有启用乐观并发。
谷歌告诉我there is a scenario,如果没有启用乐观并发,可以抛出并发异常 - 你有一个索引在该类型的文档上调用LoadDocument()。我们的代码库确实如此。
但是,我刚刚链接到的主题并未建议采取补救措施。发生并发异常时应该怎么办?应该重试逻辑工作吗?或者我应该做些什么?
答案 0 :(得分:0)
如果2个线程竞相在同一时间物理修改同一文档,则会引发并发异常。一个线程获胜,其他线程收到并发异常。
由您决定如何处理该方案。
您可以做什么的选择:
您还可以构建一个智能系统来执行此操作。并发异常,尝试自动合并,如果好,一切都好。自动合并失败,返回并通知用户“抱歉,我们无法接受您的更改,请点击此处比较您的更改”。