首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RavenDB -不带乐观并发的并发异常

RavenDB -不带乐观并发的并发异常
EN

Stack Overflow用户
提问于 2015-06-08 17:50:12
回答 1查看 391关注 0票数 0

在我们的Raven DB实例中,我们定期获得并发异常。这一直困扰着我,因为我们还没有启用乐观并发。

谷歌告诉我,there is a scenario可以在不启用乐观并发的情况下抛出并发异常--在这种类型的文档上,您有一个调用LoadDocument()的索引。这确实是我们的代码库的情况。

但是,我刚才链接的帖子并没有建议采取补救措施。当并发异常发生时,我应该怎么做?重试逻辑应该起作用吗?或者我应该做一些其他的事情?

EN

回答 1

Stack Overflow用户

发布于 2015-06-11 03:57:50

如果两个线程同时竞相以物理方式修改同一文档,则会引发并发异常。一个线程获胜,另一个线程接收并发异常。

您可以决定如何处理该场景。

选择您可以执行的操作:

  1. Nothing.未处理的异常。与minute
  2. Replay.的网络中断没什么不同最后一次获胜。出现错误的文档是最后一个,请重播覆盖所有changes.
  3. Notify.的请求捕获异常。通知用户他们的请求未成功,并让他们对照当前版本的document.
  4. Merge.检查他们的更改比较两个文档,将它们合并在一起作为源代码管理auto-merge
  5. Hand合并。向用户展示这两个文档的UI,并允许用户执行3向合并

您还可以构建一个智能系统来执行此操作。并发异常,尝试自动合并,如果正常,则一切正常。自动合并失败,返回通知给用户“很抱歉,我们无法接受您的更改,请单击此处比较您的更改”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30705976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档