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

                 Key: POOL-182
                 URL: https://issues.apache.org/jira/browse/POOL-182
             Project: Commons Pool
          Issue Type: Bug
    Affects Versions: 2.0
            Reporter: Zoltan Farkas
            Priority: Trivial


 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)



-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to