DuplicateKeyTracker may hit an invariant during a rollback

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Storage Execution
    • ALL
    • 0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Today the server can recover from index builds during a rollback getting cancelled with the use of resumable index builds. This comes at a cost of having to relax some of the invariants that rely on durable and in-memory states staying in sync during the constraints checking phase.

      One of these places is the IndexBuildInterceptor, which does have a flag to indicate whether this is a resumed index build or not.

      However, the DuplicateKeyTracker does not have such a flag and so it will not skip the checks when draining the writes. This can result in hitting an invariant that enforces the in-memory count to reflect the durable count.

            Assignee:
            Unassigned
            Reporter:
            Jordi Olivares Provencio
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: