在我们的Raven DB实例中,我们定期获得并发异常。这一直困扰着我,因为我们还没有启用乐观并发。
谷歌告诉我,there is a scenario可以在不启用乐观并发的情况下抛出并发异常--在这种类型的文档上,您有一个调用LoadDocument()的索引。这确实是我们的代码库的情况。
但是,我刚才链接的帖子并没有建议采取补救措施。当并发异常发生时,我应该怎么做?重试逻辑应该起作用吗?或者我应该做一些其他的事情?
发布于 2015-06-11 03:57:50
如果两个线程同时竞相以物理方式修改同一文档,则会引发并发异常。一个线程获胜,另一个线程接收并发异常。
您可以决定如何处理该场景。
选择您可以执行的操作:
您还可以构建一个智能系统来执行此操作。并发异常,尝试自动合并,如果正常,则一切正常。自动合并失败,返回通知给用户“很抱歉,我们无法接受您的更改,请单击此处比较您的更改”。
https://stackoverflow.com/questions/30705976
复制相似问题