Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-8272

Investigate changes in SERVER-77172: "abortExpiredTransactions" thread can get stuck if it fails to checkout a session

    • Type: Icon: Investigation Investigation
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • No version
    • Affects Version/s: None
    • Component/s: None
    • None
    • Developer Tools
    • Not Needed

      Original Downstream Change Summary

      Adds the server parameter AbortExpiredTransactionsSessionCheckoutTimeout which changes the maximum number of milliseconds for a session to checkout when aborting expired transactions.

      Also adds the following server status stats:

      • abortExpiredTransactions.successfulKills which tracks the number of transactions the "abortExpiredTransactions" thread successfully killed
      • abortExpiredTransactions.timedOutKills which tracks the number of transactions unsuccessfully killed by the "abortExpiredTransactions" thread due to timing out trying to checkout a sessions.

        Description of Linked Ticket

        The "abortExpiredTransactions" thread iterates over a list of expired sessions and tries to abort each one serially However, if, for some reason, one of the expired sessions cannot be checked out right away, the "abortExpiredTransactions" thread is blocked until the session can be checked out. 

      This can potentially start expired sessions from being reaped. 

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: