Commit Graph

207 Commits (877e451daed20eabd796cdfa33f0bb252399e9f4)

Author SHA1 Message Date
Brett Wooldridge 778ff0650f Remove the Codahale shiim 10 years ago
Brett Wooldridge 80a2442d96 timeoutMs parameter no longer needed with addition of validationTimeout 10 years ago
Brett Wooldridge 2eefb6d4cd Checkpoint check-in, this is not final code at all... 10 years ago
Brett Wooldridge b544c21cf3 Add validationTimeout. 10 years ago
Brett Wooldridge e3316e8618 Merge #223 pull request into 2.3.0 branch, add support for handling Java 8 default interface methods. 10 years ago
Brett Wooldridge 10762d6403 Tighten-up addBagItem() implementation with cleaner loop. 10 years ago
Brett Wooldridge 8aa2034709 Fixes #222 separate responsibility of maintaining idle connections from addBagItem(). addBagItem() will now add exactly one connection per-invocation (with retry). Create a separate fillPool() method to handle idle connection maintenance. 10 years ago
Brett Wooldridge 467bc2f79a Simple variable rename for clarity 10 years ago
Brett Wooldridge c3043d8f9d Re-use the assassin executor. 10 years ago
Brett Wooldridge 3fbcbf87b5 When resetting the network timeout to its original value we can avoid an additional call to
getNetworkTimeout() by adding a specialized version of the method.
10 years ago
Brett Wooldridge f7aa730e86 Based on input from other developers, we can be sure that currentTimeMillis() will never retrograde (at the resolution the housekeeper runs). 10 years ago
Brett Wooldridge 6f0659d4e4 Add check to housekeeping thread to handle backward flow of time. 10 years ago
Brett Wooldridge a386815d7e Revert "Use System.nanoTime() instead of System.currentTimeMillis() almost everywhere. System.currentTimeMillis() can go backwards!"
This reverts commit 01bebb5d35.
10 years ago
Brett Wooldridge 01bebb5d35 Use System.nanoTime() instead of System.currentTimeMillis() almost everywhere. System.currentTimeMillis() can go backwards! 10 years ago
Brett Wooldridge ac7268f3c3 Minor cleanup. 10 years ago
Brett Wooldridge 0323a7dacb Let PoolUtilities use its own executor. Sharing executors can lead to deadlocks (not observed, but theoretical) 10 years ago
Brett Wooldridge c9f6d90ab2 Javadoc fixes 10 years ago
Brett Wooldridge 590dbf1870 Add some comments. Add evicted check back to housekeeper to cover a rare race condition
where the connection is being released at the same time the maxLifetime eviction shedule is
running.  That could have allowed the bag entry to be marked evicted, but have the check
in releaseConnection() just missing it, which would result in a maxLifetime connection sitting
in the pool for an indefinite amount of time.
10 years ago
Brett Wooldridge fafa5050ad Remove maxLifeTime check from getConnection() and use housekeeping scheduler instead. 10 years ago
Brett Wooldridge a4c6c03ded ConcurrentBag to common code refactor (share code between Java 6/7 and Java 8) 10 years ago
Brett Wooldridge d47d5a7b0e Fix #207 Make PoolUtilities stateful, because using statics causes issues when two pools with different drivers and different capabilities exist in the same JVM. Pull out non-pooly things into a separate utility class. 10 years ago
Brett Wooldridge 87be723621 Issue #206 suppress noisy exceptions in "quiteSleep()" method. 10 years ago
Brett Wooldridge a6152f58a9 Merge more common code. Benchmarks are showing no negative impact so far. 10 years ago
Brett Wooldridge 688d1911e2 Merge more common code. HikariConfig is not a critical class, but we need to be careful about what we merge due to performance implications of inheritance and virtual dispatch that cannot be optimized by the JIT. 10 years ago
Brett Wooldridge ce6d72dd00 Remove some redundant code and inaccurate comment. 10 years ago
Brett Wooldridge 9d486abbfa Massive structure refactor. Make IDE setup hell, but greatly improves maintainability. 10 years ago
Brett Wooldridge d304c511b3 Be careful coding while drinking. 10 years ago
Brett Wooldridge b84727e4c9 Use execute() instead of submit() for the addConnectionExecutor. 10 years ago
Brett Wooldridge 527c8ce59c Issue #206 Throw an exception if the bag is closed, this will cause addConnection() to cleanly close the opened connection and correctly decrement the pool count. 10 years ago
Brett Wooldridge 396ecf4008 Somewhere along the way we lost our override of isClosed()... 10 years ago
Brett Wooldridge ce515ac3b8 Scrub, scrub. A little cleaner. 10 years ago
Brett Wooldridge 855dbafb86 Cleanup pool suspend/resume semaphore use, add unit test. 10 years ago
Brett Wooldridge 560f6e402a Minor cleanup. Make isUseJdbc4Validation final. 10 years ago
Brett Wooldridge e78d68e65f Cleaner still, rolls back totalConnection() increment, and sets last connection failure. 10 years ago
Brett Wooldridge 949bff3997 Even cleaner connection test check. 10 years ago
Brett Wooldridge 66118ff4c4 Minor cleanup. Listener is never null. 10 years ago
Brett Wooldridge 501db5ab6e Cognitive load shift. 10 years ago
Brett Wooldridge 26d6f254db Fix #203 unregister metrics at shutdown. 10 years ago
Brett Wooldridge 03542eb579 Fix #198 rework of the fix 10 years ago
Brett Wooldridge 3b1ae79d7d Minor cleanup. 10 years ago
Brett Wooldridge d625ed66ec Fix #204 fix leak detection bug introduced by refactor 10 years ago
Brett Wooldridge cf99c59519 Remove redundant checks. 10 years ago
Brett Wooldridge c78fc35c27 Fix #198 handle pull shutdown synchronisation issues 10 years ago
Brett Wooldridge da4ffe6d18 Fix a fast-spin loop when the pool is suspended and and connections are attempted to be added. 10 years ago
Brett Wooldridge 9f3c5ed2ca Merge Java 8 changes into Java 6/7 project. 10 years ago
Brett Wooldridge cc42027a92 Mmake HikariPool.getConnection() a little tighter (and more readable). 10 years ago
Brett Wooldridge 0b8779ed26 Small LeakTask refactor just to make HikariPool.getConnection() a little tighter (and more readable). 10 years ago
Brett Wooldridge 0182489c7b Improve pool accounting under "adverse" conditions such as aborted connections. 10 years ago
Brett Wooldridge 0999b831d5 Revert double-check locking for cleaner memory-fence based code. 10 years ago
Brett Wooldridge 01221526f8 Forget about accounting sanity checks when the pool is going down (who cares?). Prevent connections from being added when the pool is suspended. Remove eviction from from abortActiveConnections() as it is already done in softEvictConnections(). "break" in abort method should have been continue. 10 years ago