[
https://issues.apache.org/jira/browse/ARTEMIS-2823?focusedWorklogId=452201&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-452201
]
ASF GitHub Bot logged work on ARTEMIS-2823:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 29/Jun/20 07:50
Start Date: 29/Jun/20 07:50
Worklog Time Spent: 10m
Work Description: uomik commented on pull request #3204:
URL: https://github.com/apache/activemq-artemis/pull/3204#issuecomment-650993888
> Before on settling down on dbcp. Did you evaluate other connection pool
implementations. I remember that dbcp had performance and memory issues in the
past (maybe nowadays too?). HikariCP might be a better alternative.
Yes I did evaluate HikariCP and c3p0
(https://www.mchange.com/projects/c3p0/) along with dbcp2. Each of them worked
just fine and I saw no noticeable performance difference beween them. Yes there
used to be some major performance issues with dbcp2, but to my knowledge the
latest version is much better. I did not run any real performance tests with
each of the connection pools, but have done it with other applications. Dbcp2
has been slightly slower, but proven to be more reliable in an environment
where database drops connections very aggressively, when compared to HikariCP.
c3p0 was simply dropped because I'm not that familiar with it.
At the end, I made the choice based on the fact that with default settings
dbcp2 was the only one that I got to work flawlessly in our test cluster. Both
HikariCP and c3p0 required some extra configuration.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 452201)
Time Spent: 0.5h (was: 20m)
> Improve JDBC connection management
> ----------------------------------
>
> Key: ARTEMIS-2823
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2823
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: Broker
> Reporter: Mikko
> Priority: Major
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> I have a case where the whole clustering reliability and HA must rely on HA
> capabilities of clustered database, and running on top of application server
> is not an option.
> The current JDBC store implementation is rather bare bones on the connection
> management side. JDBC driver is used directly with no management layer. At
> startup, the broker just opens couple of direct connections to database and
> expects them to be available forever. This is something that cannot be
> expected in HA production environment. So, similarly to the discussion linked
> below, in our case we lose the db connection after one hour, and all the
> brokers need to be restared to get new connections:
> [http://activemq.2283324.n4.nabble.com/Artemis-does-not-reconnect-to-MySQL-after-connection-timeout-td4751956.html]
>
> This is something that could be resolved by simply using JDBC4 isValid
> checks, but proper connection handling and pooling through datasource would
> be preferrable.
> I have implemented a solution for this by using DBCP2 datasource. Our test
> cluster has been successfully running this forked version since the release
> of Artemis 2.13.0. I will prepare of pull request if this is seen to be
> something that can be useful.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)