This repository has been archived by the owner on Oct 4, 2018. It is now read-only.
forked from brettwooldridge/HikariCP
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
170 lines (110 loc) · 6.08 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
HikariCP Changes
Changes between 1.3.2 and 1.3.3
*) Removed shared state contention that was causing excessive CPU cache-line
flushing. Nearly 4x improvement in Connection acquisition/release
performance.
*) Fixed issue with Tomcat carping about ThreadLocal variables held after
web application restart.
*) Fixed issue where the maximum configured connections could be overrun
during large burst requests for connections.
Changes between 1.3.0 and 1.3.2
*) Java 6 compatibility.
*) HikariDataSource now extends HikariConfig, so pool properties can be
set directly on a HikariDataSource without need to create a HikariConfig.
The cost of doing so is a small runtime cost due to the fact that an
"is initialized" check must be performed on every invocation of
getConnection() due to lazy initialization of the pool.
*) Added Sybase-specific disconnect error codes to SQLException snooping.
*) Added HikariConfig.setCatalog() method to set DataSource catalog.
*) Add DataSource.close() method that is synonymous with shutdown().
*) More performance improvements (never ending).
*) Moved benchmarks to https://github.com/brettwooldridge/HikariCP-benchmark
Changes between 1.2.9 and 1.3.0
*) Pool is now backed by a custom lock-less ConcurrentBag that
provides superior performance to LinkedBlockingQueue and
LinkedTransferQueue for usage patterns of connection pools.
*) Fixed bugs reported against the 1.2.9 release.
*) Added more detailed logging for broken connections and failures
during new connection creation.
Changes between 1.2.8 and 1.2.9
*) Added a fail-fast option for pool initialization. If enabled, a
RuntimeException will be thrown if there are errors during pool
initialization.
*) Made the registration of the HikariCP MBeans optional. They now
default to not being registered. Registering them causes a minor
performance hit due to additional pool data collection in
HikariDataSource.getConnection().
*) Added the SQLException message to the log entry when an exception
occurs during physical connection acquisition.
*) Implemented an orderly shutdown of the pool via the shutdown() method
on HikariDataSource.
*) Listened to "Adele - Live At The Royal Albert Hall" on endless loop.
Changes between 1.2.7 and 1.2.8
*) Fixed a critical bug introduced in 1.2.7 occurring when the number of
concurrently open statements exceeds sixteen.
Changes between 1.2.6 and 1.2.7
*) Finally achieved performance parity between the generated delegates
and the former method of instrumenting driver classes directly.
*) Improved generated delegate code. Removed unnecessary casts, moved
to a static proxy factory rather than a singleton (performance win).
*) Improved performance of FastStatementList (primary source of speed-up
to reach parity with former instrumentation code).
*) Removed aliveness check on connection creation.
*) Track connection isolation level and only reset if the state has
become "dirty". Avoids unnecessary round trip to the DB during the
aliveness check.
*) Added interface IConnectionCustomizer and related HikariConfig
property 'connectionCustomizerClassName' to allow users to specify
a connection customization implementation.
Changes between 1.2.5 and 1.2.6
*) Fixed regression that caused IndexOutOfBounds when multiple unclosed
Statements existed at the time of Connection.close().
*) Fixed incorrect pom.xml dependency on Hibernate.
Changes between 1.2.4 and 1.2.5
*) Instrumentation mode (agent) removed due to narrowing gap between
delegation mode and instrumentation (and to simplify the code base).
*) Added setDataSource() to HikariConfig to allow a DataSource instance
to be explicitly wrapped by the pool. Only available when creating
HikariConfig programmatically or constructing HikariConfig from a
java.util.Properties instance.
*) Fixed Hibernate threading issue (certain usage patterns) introduced
in 1.2.2.
*) Fixed issue observed with PostgreSQL whereby the query that tests the
connection for "aliveness" also starts a transaction (when auto-commit
is false), thereby causing a later failure when we tried to set the
transaction isolation level.
*) Fixed issue where idleTimeout could not be set to 0, thereby disabling
it. Incorrect value validation caused 0 to be rejected as a valid value.
Changes between 1.2.3 and 1.2.4
*) Fix another Hibernate-related issue whereby an NPE is encountered when
a thread that was not the thread that obtained a Connection tries to
interact with that Connection.
Changes between 1.2.2 and 1.2.3
*) Fix internal (but suppressed) exception during rollback of connections
returned to the pool with auto-commit turned off.
*) Fix a reflection issue that causes Hibernate failures due to the
CallableStatement interface being incorrectly injected into statement
proxies that are PreparedStatement or Statement instances.
Changes between 1.2.1 and 1.2.2
*) Perform a rollback() on connections returned to the pool with
auto commit disabled.
*) Add a constructor for HikariConfig that accepts a Properties
object.
*) Speed improvements for delegate mode.
*) Fix a bug where connection timeouts could not be disabled.
*) Permit setting the DataSource logWriter either on the HikariDataSource
or via addDataSourceProperty() on the HikariConfig.
*) Add transactionIsolation property to allow setting the default
transaction isolation level for connections.
Changes between 1.1.9 and 1.2.1
*) Clear SQL warnings before returning a connection to the user.
*) Added asynchronous connection backfill strategy that triggers
when the pool becomes empty as a result of dispatching a
connection.
*) Changed default acquireIncrement to 1, set minimum timeout of
100ms for acquiring a connection.
Changes between 1.1.8 and 1.1.9
*) Added connectionInitSql property to allow setting connection
properties when a new connection is created.
*) Added setDataSourceProperties() setter to HikariConfig to
allow easier configuration though Spring.