当发生 ConcurrencyException 时,写入什么?
When a ConcurrencyException occurs, what gets written?
我们在生产环境中使用 RavenDB。它存储了数百万个文档,并且在白天几乎不断更新。
我们有两个盒子使用循环策略进行负载平衡,它们相互复制。
大约每周,我们都会从 Raven 收到 ConcurrencyException。我知道这基本上意味着其中一台服务器被告知在短时间内插入或更新相同的文档——这有点像冲突异常,除了发生在同一台服务器上而不是两台复制服务器上。
发生此错误时会发生什么情况?我可以假设至少有一个写入成功了吗?我能预测是哪一个吗?我能做些什么来降低这些异常的可能性吗?
ConcurrencyException 意味着在单个服务器上,您同时对同一文档进行了两次写入。
导致:
- 接受一次写入。
- 一次写入被拒绝(并发异常)。
我们在生产环境中使用 RavenDB。它存储了数百万个文档,并且在白天几乎不断更新。
我们有两个盒子使用循环策略进行负载平衡,它们相互复制。
大约每周,我们都会从 Raven 收到 ConcurrencyException。我知道这基本上意味着其中一台服务器被告知在短时间内插入或更新相同的文档——这有点像冲突异常,除了发生在同一台服务器上而不是两台复制服务器上。
发生此错误时会发生什么情况?我可以假设至少有一个写入成功了吗?我能预测是哪一个吗?我能做些什么来降低这些异常的可能性吗?
ConcurrencyException 意味着在单个服务器上,您同时对同一文档进行了两次写入。
导致:
- 接受一次写入。
- 一次写入被拒绝(并发异常)。