Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update abort_old_txes of the consumer group to use locks #11566

Closed
wants to merge 1 commit into from

Commits on Jun 20, 2023

  1. txn: update abort_old_txes to use locks

    An execution of abort_old_txes could span multiple terms so the so the
    method could modify new state assuming it's the old state resulting in
    undefined behavior.
    
    This commit is the rewrite of the reverted f7fc026 in 11474. The pro-
    blem was caused by:
    
      - do_detach_partition got blocked
      - RP ignored blocked do_detach_partition and attempted next op leading
        double registration of the consumer groups ntp
    
    The op was blocked by a deadlock:
    
      - do_abort_old_txes was waiting for read lock while holding _gate
      - do_detach_partition was holding write lock while waiting to the
        gate to be closed
    
    This version doesn't wait for the read lock to become available and exit
    do_abort_old_txes releasing the _gate.
    
    It still isn't clear why RP ignored a blocked op
    rystsov committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    3e63188 View commit details
    Browse the repository at this point in the history