commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bernd Eckenfels (JIRA)" <>
Subject [jira] [Updated] (POOL-277) Monitor contention at BaseGenericObjectPool
Date Thu, 18 Sep 2014 21:13:33 GMT


Bernd Eckenfels updated POOL-277:
    Attachment: nonlockstats.diff

How is this? This does move the maximum calculation to the StatsStore and makes the stats
store lockfree. This requires a power-of-two (128 instead of 100) history size to be effficient.
The maximum is now also calculated for idle and active times (but not exported). I think this
fixes some other things like concurrent index use as well. It should also be a bit more memory
conserving (AtomicLongArray instead of Array of AtomicLongs).

Lucas, could you test this, especially with looking if it improves StatsStore.add() in your
tests as well?

BTW: i think the mean is calculated wrong, there is a TODO in the patch.

> Monitor contention at BaseGenericObjectPool
> -------------------------------------------
>                 Key: POOL-277
>                 URL:
>             Project: Commons Pool
>          Issue Type: Improvement
>    Affects Versions: 2.2
>            Reporter: Lucas Pouzac
>              Labels: concurrency, performance
>             Fix For: 2.3
>         Attachments: monitor_contention_basegenericobjectpool.png, monitor_contention_basegenericobjectpool_after_pull_request.png,
> Updating JMX causes synchronization while the service is secondary. See screenshot.
> I create a Pull Request [#1|].

This message was sent by Atlassian JIRA

View raw message