Commit Graph

1177 Commits (8f9c0b5935f90e89caef131f3dda1148d2bc600f)

Author SHA1 Message Date
Brett Wooldridge a21a6ff6cd Fix #1735 Add system property to permit lowering (or raising) the minimum allowed value for connectionTimeout and validationTimeout. 4 years ago
Brett Wooldridge d0c7d54bc9 Fix regression cause by #1605. When returning the addConnectionExecutor pool sizes
back to defaults, the core pool size must be changed before the maximum pool size.
4 years ago
Brett Wooldridge 4b8d71b8e8 Restore "strong reference" holding of PoolStats instance, and add code comment so that will not be removed by cleanup in the future. 4 years ago
Brett Wooldridge b98c79fe99 Remove javassist from module-info 4 years ago
Brett Wooldridge 6e0f4a8d44 lint cleanup 4 years ago
Brett Wooldridge 04919ad540 lint cleanup and Visual Studio Code files 4 years ago
Brett Wooldridge ade83d14cd Code cleanup. 4 years ago
Vladislav Golub 28cb7c0961
Fix prometheus histogram metric tracker for multiple pools (#1692)
* Add support for multiple prometheus histogram metric trackers

* Add tests
4 years ago
nothing 0561309e32
features: add heartbeat to keepalive connection if configure it (#1699)
* features: add heartbeat to keepalive connection if configure it

* features: add heartbeat to keepalive connection if configure it

* features: add heartbeat to keepalive connection if configure it

* features: keepalive unit test

* optimize code

* optimize code
4 years ago
freafrea 29eb681cbb
Handle short in PropertyElf (#1581) 4 years ago
sw-pachanady 00f5f202a4
Due to change in JDK-11 and later in ThreadPoolExecutor.java, setMaximumPoolSize needs to be done before setCorePoolSize, the current implementation throws IllegalArgumentException and hence prefilling of connections by setting com.zaxxer.hikari.blockUntilFilled is broken. (#1605)
Co-authored-by: rampr_000 <spachanady@gmail.com>
4 years ago
Yanming Zhou 5efab340e8
Refine JMX ObjectName (#1681)
fix https://github.com/brettwooldridge/HikariCP/issues/1678
4 years ago
Yanming Zhou d9983b32c1
Make generated proxy class final (#1661)
The final modifier is overridden by public modifier before this commit
4 years ago
Iouri Goussev b2f45a5441
Remove micrometer metrics on close (#1700)
Co-authored-by: Iouri Goussev <igoussev@xmatters.com>
4 years ago
sullis 99c213efd2
use [testcontainers-java] for Postgres unit test (#1430) 4 years ago
Caleb 43a3ce0aec
Fix typo in documentation from 'used' to 'use'. (#1555)
Co-authored-by: Caleb Larsen <caleb.larsen@rentping.com>
4 years ago
Prashant Bhat 8217f2082d
#1582: update module-info to mark optional dependencies as 'static' (#1587)
* #1582: update module-info to mark optional dependencies as 'static'

* update to hibernate.core release 5.4.16.Final and use its module name

Co-authored-by: Brett Wooldridge <brett.wooldridge@gmail.com>
4 years ago
Gili Tzabari 30c63c6372
Fixed optional dependencies that were marked as required in module-in… (#1669)
* Fixed optional dependencies that were marked as required in module-info.java

* * Upgraded bundle plugin to fix https://issues.apache.org/jira/browse/FELIX-6259.
* Windows requires the use of ${file.separator} to separate classpath entries.

* Need to use a different log4j-slf4j-impl artifact under Java 11.
4 years ago
Gili Tzabari 1d05b0ec67
Added missing dependencies (#1577)
* Added missing dependencies.

* Ant needs to be told which dependencies go on the classpath and modulepath.

* Removed unused classpath entry.
5 years ago
Gili Tzabari d9ee5fab69 Renamed Java9 artifact to Java11. 5 years ago
Gili Tzabari aaf4d3a59e Added module-info.java for Java9 5 years ago
Brett Wooldridge 009a7013cf Qualify yield() method as Thread.yield() (IDE warning for Java 14+), and add threadlocal removal attempt to bag item removal. 5 years ago
Brett Wooldridge 8df41bf748 Additional logging. 5 years ago
Brett Wooldridge fe29962233 When blocking initialization is specified, use a minimum of 16 connection creation threads. 5 years ago
Brett Wooldridge a51e6a07e8 Fixes #1489 allow specification of a user supplied exception eviction override class 5 years ago
Brett Wooldridge aeebbdf54a Fixes #1534 check resultSet.getStatement() for null in ProxyDatabaseMetaData. 5 years ago
Brett Wooldridge 93c7178012 Fixes #1528 regression in fail fast handling. 5 years ago
Brett Wooldridge f5b650bb7a Fix regression caused by #1337 6 years ago
Brett Wooldridge c953243af3 Add proxy class for java.sql.DatabaseMetaData. 6 years ago
Aleksandr Podkutin 086bf18389 Refactor/fix Prometheus metrics for multiple connection pools, add unit tests (#1331)
* Refactor/fix Prometheus metrics for multiple connection pools

Changes:
* Fix "Collector already registered that provides name:
hikaricp_connection_timeout_total" error
* Register only one HikariCPCollector instance in one CollectorRegistry
instance
* Add ability to remove metrics when connection pool is shutting down
* Add/update unit tests

* Refactor/add unit tests - metrics package

* Re-format curly braces to be inline with the whole code base
6 years ago
Enes Açıkoğlu c509ec1a3f #1337 isolation level fix for all values accept string (#1338)
* #1337 isolation level fix for all values accept string

* #1337 name convension refactor

* #1337 remove unused comment

* review fix for redundant optional
6 years ago
Vincent van Donselaar efa25c3aaa Alternative Prometheus metrics Histogram instead of locking Summary. (#1265)
* Alternative Prometheus metrics Histogram instead of locking Summary.

Add PrometheusHistogramMetricsTracker.java that uses an internal
Histogram instead of Summary. A summary is quite lock heavy.
See: https://github.com/prometheus/client_java/issues/328

* Fix incorrect magnitudes of buckets.
6 years ago
Brett Wooldridge e8e9cdd00a fixes #1287 set core pool size before max pool size 6 years ago
Brett Wooldridge 28a2afd3e6 fixed idle validation test case 6 years ago
Brett Wooldridge 86612b4bc4 Do NOT default maxPoolSize to minIdle when only minIdle is specified. 6 years ago
Brett Wooldridge cda2605acc Fixes #1308 treat a SQLTimeoutException as an evictable offense 6 years ago
Brett Wooldridge 80d382dc93 Fix idle timeout test case. 6 years ago
Brett Wooldridge c742e86838 Do not log warning about idleTimeout unless minimumIdle is less than maxPoolSize (because otherwise it does not apply) 6 years ago
Brett Wooldridge 17447199f5 Fixes #1305 ensure that ConcurrentBag.add() does not spin under high load, when waiting threads may never reach 0. 6 years ago
Brett Wooldridge 1ac94f16a2 Fixes #1287 when system property blockUntilFilled is set, use multiple threads to fill the pool. 6 years ago
Brett Wooldridge 4333989ca2 Fixes #1305 ensure that ConcurrentBag.add() does not spin under high load, when waiting threads may never reach 0. 6 years ago
Vikash Tiwari f0676c8727 Replace anonymous class with lambda (#1292) 6 years ago
Arlo Louis O'Keeffe 50c3fd1b78 Call newInstance on Constructor of driverClass (#1290)
Class.newInstance is deprecated as of Java 9. Usage should be replaced by calling Class.get(Declared)Constructor.newInstance
6 years ago
Brett Wooldridge 45912ebb57 Fix unit test breakage. 6 years ago
Brett Wooldridge 239919c33d Fix unit test breakage. 6 years ago
Brett Wooldridge f005a4769f Various clean-ups pointed out by sonarcloud.io 6 years ago
cyleph b39141bfd5 Fix for #1226 and unit tests. (#1227) 6 years ago
Sergey Monichev 74b55aef05 Fix proxy classes generation reproducibility (#1250)
* Fix proxy classes generation reproducibility

* Replace sorting with LinkedHashSet
6 years ago
Brett Wooldridge 157b519ca1 Additional unit test. 7 years ago
Kazuhiro Sera ea0dd602ff Fix typos detected by github.com/client9/misspell (#1218) 7 years ago
fpirson 5d1ed1c678 Capability to instantiate an object based on the String class name (#1074)
It is usefull when you want to set the MetricsTackerFactory from a
property.
7 years ago
Matt Nelson 471e27ece0 Use orElseGet to delay call until necessary (#1210) 7 years ago
Tom Hombergs 7209aabecc allow to pass in a prometheus CollectorRegistry (fixes #1181) (#1182)
* allow to pass in a prometheus CollectorRegistry
instead of always using CollectorRegistry.defaultRegistry.

* fixed some spots where the static CollectorRegistry.defaultRegistry was still accessed

* fixes some more spots where CollectorRegistry.defaultRegistry was used
7 years ago
Daniel Trebbien f9d47e79cb Add a missing SLF4J formatting anchor (#1161) 7 years ago
Jungtaek Lim 74fa2a84e8 Log uncaught error in acquiring connection (+1 squashed commit)
Squashed commits:
[7a00d8bd]

* also respecting fail-fast on uncaught error
7 years ago
Brett Wooldridge 52b3811e4d Fixes #1186 limit the number of items in the ThreadLocal list in the ConcurrentBag. 7 years ago
Brett Wooldridge c1032a06df Quasi-revert change. Some driver's implementation of isClosed() might attempt TCP, and therefore encounter unacknowledged packets outside of the network timeout protection. 7 years ago
Brett Wooldridge 88b57c3bd7 Check closed condition before attempting to set network timeout. 7 years ago
Brett Wooldridge 6a13980312 Update validation failure message. 7 years ago
Brett Wooldridge 603951febd Fixes #1126 correct error in JavaDoc for HikariConfig.setInitializationFailTimeout(). 7 years ago
Brett Wooldridge 5607d8b913 Fixes #1141 do not throw SQLException when calling isClosed() or close() on a already closed Connection, as per JDBC specification. 7 years ago
Brett Wooldridge 8921bb08c8 Fixes #1137 support changing user/password at runtime for DriverDataSource-wrapped driver connections. 7 years ago
Brett Wooldridge 851e2d4592 Fixes #1137 support changing user/password at runtime for DriverDataSource-wrapped driver connections. 7 years ago
Brett Wooldridge 71e8688ed4 Closes #1114 Remove unneeded code. 7 years ago
Brett Wooldridge 95e0b429eb Fixes #1136 sanitize jdbcUrl for logging. 7 years ago
Sevket Gökay b36323213f log loaded driver when using jdbcUrl (#1136) 7 years ago
Sevket Gökay c1ab4c8399 refactor: extract seal check into method and reuse (#1135)
* refactor: extract seal check into method and reuse

* move method checkIfSealed() to a more appropriate place
7 years ago
Brett Wooldridge 43f21c0fd3 Fix JavaDoc typo 7 years ago
Brett Wooldridge 9d1b13327e Fix JavaDoc typo 7 years ago
Brett Wooldridge 368b3ab692 Fix JavaDoc typo 7 years ago
Brett Wooldridge b5c340eee3 Permit changing the catalog via the HikariConfigMXBean 7 years ago
Brett Wooldridge 4e6bd83fb6
Update HikariConfig.java 7 years ago
Brett Wooldridge 869b114ac6 JavaDoc fixes. 7 years ago
Brett Wooldridge b11eb4084c Merge commit '5e84eeebbf61739314b76e61c7f10b9af7c51759' into dev
* commit '5e84eeebbf61739314b76e61c7f10b9af7c51759':
  Extract Micrometer metric name to public constant and document usage
  Remove hard-coded percentiles from MicrometerMetricsTracker
7 years ago
Brett Wooldridge a11d6a6b39 Prepare for release. 7 years ago
Brett Wooldridge 36ffcafe83 Fixes #1116 Only set readOnly/autoCommit during connection setup if they differ from defaults. 7 years ago
Brett Wooldridge 25f8ab1c1e New MBean test. 7 years ago
Brett Wooldridge 00cd48a7c8 Fixes #1117 Add (currently undocumented) system property to block pool startup until minimumIdle connections exist in the pool. 7 years ago
Manabu Matsuzaki 3b4322eae6 add test case for new metrics (#1115) 7 years ago
Manabu Matsuzaki 3313174891 Add pool metrics (#1110) 7 years ago
Manabu Matsuzaki 4852678a7b `mockMeterRegistry#find(String)` doesn't seem to return null (#1113) 7 years ago
Tommy Ludwig 3a739210ce Maintain strong reference to PoolStats for Micrometer gauges (#1108)
Micrometer's gauges were breaking after the `PoolStats` object they weakly referenced was garbage collected. This change holds a strong reference to the `PoolStats` object in `MicrometerMetricsTracker` to avoid this issue.

See http://micrometer.io/docs/concepts#_why_is_my_gauge_reporting_nan_or_disappearing
7 years ago
Tommy Ludwig 5e84eeebbf Extract Micrometer metric name to public constant and document usage
Hard-coded percentiles were removed in a previous commit. This documents how a user can configure such things in their code and makes it easier to do by providing a public constant for the prefix used by all metric names.
7 years ago
Tommy Ludwig cc36894164 Remove hard-coded percentiles from MicrometerMetricsTracker
Rather than hard-coding a client-side calculated percentile in HikariCP's code, it is best to leave these configuration decisions to HikariCP users in their code. Users can configure percentiles and whether to record a histogram for HikariCP metrics via a `MeterFilter`.

Resolves micrometer-metrics/micrometer#91
7 years ago
Brett Wooldridge b4f25170b3 Setup for a v2.7.8 release. 7 years ago
Brett Wooldridge 7bff6723c1 Fixes #1095 fix breakage caused by sealed configuration with respect to special handling
for the metricsRegistry and metricsTrackerFactory properties, which are allowed to be
altered *once* after the pool has started.
7 years ago
NersesAM 91bd7dfb33 Allowing anonymous subclasses of MetricRegistry. Also changing checks for metrics libraries from classname contains to assignableFrom the metrics class (#1089) 7 years ago
Brett Wooldridge 90f1887b4d Fix bug in sealed configuration. 7 years ago
Brett Wooldridge 64d91e8ea3 Fixes #1060 (Really) support experimental throw-if-suspended functionality. 7 years ago
Brett Wooldridge bef929cc97 Fixes #1060 Support experimental throw-if-suspended functionality. 7 years ago
Brett Wooldridge 1f73e9a005 Fixes #1060 Support experimental throw-if-suspended functionality. 7 years ago
Brett Wooldridge bdfeee96e0 Fixes #1064 do not propagate "sealed" status to the target of copyStateTo(HikariConfig other). 7 years ago
Stanislav Savulchik 18379538fb Enable quantiles calculation in prometheus metrics (#1058) 7 years ago
Brett Wooldridge 5ba71e0e83 Minor cleanup. 7 years ago
stepbeekio a3637fb945 Fixes #1061 HikariProxyStatement.GetGeneratedKeys does not return ProxyResultSet. (#1062) 7 years ago
Brett Wooldridge 2c0c761253 Fix typo. 7 years ago
Brett Wooldridge c3ab0aa0ca Fixes #1053 seal the HikariDataSource after the pool is started. Improve constructor documentation. 7 years ago
Brett Wooldridge c48ccf6e12 Fixes #1053 seal the HikariDataSource after the pool is started. Improve constructor documentation. 7 years ago
oshai a5bdec0ad7 fix documentation (#1055) 7 years ago
znikola 56e978fc65 Added a support for SQL server's specific isolation level (Snapshot) (#1026) 7 years ago