Uploaded image for project: 'Bookkeeper'
  1. Bookkeeper
  2. BOOKKEEPER-538

Race condition in BookKeeper#close

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 4.2.0
    • None
    • None

    Description

      I've seen this with BookieAutoRecoveryTest. Basically, we interrupt and join the replicationworker thread, and then close the BookKeeper instance. This can have caused a bookkeeper operation that never finished. The executor runs it after #close has closed the BookieClient. The operation opens a connection and therefore we get a hang on releaseExternalResources().

      Solution is pretty simple. We should shutdown all executors before closing the bookieClient. I'll attach a patch which does this.

      Attachments

        Issue Links

          Activity

            People

              ikelly Ivan Kelly
              ikelly Ivan Kelly
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: