[
https://issues.jboss.org/browse/JBJCA-1344?page=com.atlassian.jira.plugin...
]
Flavia Rainone commented on JBJCA-1344:
---------------------------------------
[~simkam] Yes, the analysis is correct, that concurrent behavior is causing the 1
destroyed statistics.
What I need to check with you and [~maeste] is: is this behavior unexpected?
Synchronizing both threads would just result in loss of performance and defeat the purpose
of the entire synchronization algorithm in the MCP, so I see that as a no no. The other
possibility for fixing the statistics is just not adding to the destroyed statistics count
when the connection is destroyed in the given scenario.
But is the statistics supposed to hide that info, given that the statistics will show that
there was an extra connection created (at
https://github.com/ironjacamar/ironjacamar/blob/1.4/core/src/main/java/or...
and at
https://github.com/ironjacamar/ironjacamar/blob/1.4/core/src/main/java/or...).
I'm afraid that omitting the destroyed connection from the statistics will just leave
it inconsistent. And, if to make it consistent will also mean not incrementing the created
connection statistics, it will still be inconsistent with the fact that there was an
actual connection created.
race condition between PoolFiller and CapacityFiller results in wrong
pool statistics
-------------------------------------------------------------------------------------
Key: JBJCA-1344
URL:
https://issues.jboss.org/browse/JBJCA-1344
Project: IronJacamar
Issue Type: Bug
Affects Versions: WildFly/IronJacamar 1.4.2.Final
Reporter: Martin Simka
Assignee: Flavia Rainone
Attachments: fail.log, pass.log
There seems to be race condition between PoolFiller and CapacityFiller which results in
wrong pool statistics
I think what happens is:
- Both add connections to pool in different threads
- PoolFiller creates connection, then checks pools size and because pool has already
certain size, it doesn't add connection and instead it destroys connection which
increases destroyedCount
see
[
SemaphoreConcurrentLinkedDequeManagedConnectionPool.java#L1163|https://gi...]
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)