Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-34773

The `TransactionReaper` handler classes are not exception-safe

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.6.4, 3.7.9
    • Fix Version/s: 3.6.6, 4.0.0-rc0
    • Component/s: Sharding
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v3.6
    • Sprint:
      Sharding 2018-05-07
    • Linked BF Score:
      45

      Description

      The TransactionReaper handler classes invariant that their finalize() method has been called, but nothing in that method's logic really requires it, nor does the TransactionReaper ensure that in any way.

      Because of this, the invariants should be removed.

      It is worth leaving the _finalized variables around to invariant that finalize() is only called once, but it doesn't need to be an AtomicBool since it is only used from a single thread.

        Attachments

          Activity

            People

            Assignee:
            kaloian.manassiev Kaloian Manassiev
            Reporter:
            kaloian.manassiev Kaloian Manassiev
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: