Uploaded image for project: 'Commons Pool'
  1. Commons Pool
  2. POOL-182

Issues with org.apache.commons.pool2.performance. PerformanceTest

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Trivial
    • Resolution: Fixed
    • 2.0
    • 2.0
    • None

    Description

      the use volatiles : waiting,complete,totalBorrowTime, totalReturnTime, nrSamples
      is not correct.

      for ex the following totalBorrowTime += borrowTime is not atomic resulting in a
      race condition.

      one way to fix this is using the java.util.concurent Atomic variants or even
      better,
      make these variables members of MyThread and aggregate them at the end of the
      test,
      this way there will be no need to use Atomic and thus increasing efficiency, and
      accuracy of the test of the test.

      also:

      private boolean start;

      needs to be volatile, due to visibility issue.
      (when updating start other threads might not pick up the value)

      Attachments

        1. PerformanceTest.patch
          11 kB
          Mohit Soni

        Activity

          People

            Unassigned Unassigned
            zolyfarkas Zoltan Farkas
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 4h
                4h
                Remaining:
                Remaining Estimate - 4h
                4h
                Logged:
                Time Spent - Not Specified
                Not Specified