Investigate and possibly add invariant around _replicationWaiterList

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Replication
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Intuitively _replicationWaiterList is expected to be empty whenever we transition to secondary or when we transition to rollback.

      This ticket is to add an explicit invariant around the _replicationWaiterList being empty on state transitions, if the expectation is supposed to be true (after we investigate), or alternatively spelling out in which cases the _replicationWaiterList is may have waiters.

      On rollback in particular having a non-empty _replicationWaiterList seems dangerous: for example, if a waiter waiting on opTime with t:1 exists, and then if the node rolls back, and then reaches a diverging branch of history t:2, it definitely should not acknowledge the waiter.

      If these aren't concerns, we can close this ticket out!

            Assignee:
            Unassigned
            Reporter:
            Vishnu Kaushik
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: