【问题标题】:Commit error with EventStoreEventStore 提交错误
【发布时间】:2020-10-27 18:37:45
【问题描述】:

我在 Jonathon Oliver 的 EventStore 中看到以下错误:

错误:23505:重复键值违反唯一约束“ix_commits_revisions”

任何想法为什么会发生这种情况?

【问题讨论】:

    标签: cqrs neventstore


    【解决方案1】:

    假设索引是我在谷歌上搜索的:

    CREATE UNIQUE INDEX IX_Commits_Revisions ON Commits (
         StreamId, StreamRevision, Items);
    

    两个Saves 编写了等效的更改,这表示乐观并发违规。

    通常这将由公共域(或类似)层转换为 EventStore ConcurrencyException

    解决方案是针对流中事件的新负载重新应用命令。

    如果您正在缓存 IEventRepository,您不应该这样做,因为对数据库具有写入权限的每个人都可以平等地写入事件流。

    我怎么知道这一切? NuGet 包中的自述文件非常清楚地解释了这背后的基础,如果你不阅读并重新阅读它们,直到你自己解决这个问题,你就是在从你自己/你的雇主那里偷东西!

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      相关资源
      最近更新 更多