[Eventum] Hery Ramilison MySQL Connector/J 6.0.3 m2 Development Release has been released
Jun 24, 2016; 13:35
[Eventum] Hery Ramilison
MySQL Connector/J 6.0.3 m2 Development Release has been released
Dear MySQL users,
MySQL Connector/J 6.0.3 m2 Development Release is a developer milestone release for the 6.0.x series.
It is the second public release of the current Connector/J 6.0 development branch, providing an insight to upcoming features. Although some of these are still under development, this release includes the following new features and changes, also described in more detail on http://dev.mysql.com/doc/relnotes/connector-j/en/news-6-0-3.html.
As always, we recommend that you check the "CHANGES" file in the download archive to be aware of changes in behavior that might affect your application.
Changes in MySQL Connector/J 6.0.3 m2 (2016-06-24)
Functionality Added or Changed
* For MySQL server 5.7.5 and later, the EOF packet in the MySQL server/client protocol has been deprecated and replaced by the OK packet. The change is now supported by Connector/J. (Bug #23212347)
* SSL is now supported for connections to a MySQL server using the X Protocol. (Bug #21532788)
* The following objects are no longer extensions of the Extension interface, but get their own implementations now, which reduces their dependencies on other objects:
* An excessive amount of memory was used when the connection properties enablePacketDebug and traceProtocol were both set to "true." (Bug #23535571)
* Connector/J hung, returned a NullPointerException, or returned an incorrect exception when using result sets with the properties TYPE_FORWARD_ONLY and CONCUR_UPDATABLE. It was due to an inaccurate check for the cursor for the result set. This fix makes sure Connector/J checks accurately on whether a cursor has been requested, both when executing a statement and fetching its results. (Bug #23201930)
* When using server-side prepared statements with profileSQL=true and useInformationSchema=true, an SQLException (" ResultSet is from UPDATE. No Data") occurred when the client tried to advance to the next row in the result set. This was due to a failure of an internal query for metadata, which is now prevented by this fix. (Bug #23188498)
* The download package for Connector/J 6.0.2 Milestone 1 contained the Developer Guide for the wrong version of Connector/J. (Bug #23111273, Bug #81089)
* A NullPointerException occurred in com.mysql.cj.mysqlx.io.AsyncMessageReader due to a race condition when there were more than 2000 concurrent connections taking place. (Bug #23044312)
* getTimestamp() returned wrong value for the fractional part of a TIME or DATETIME field. (Bug #22932078)
* LoadBalanceConnectionGroupManager.removeHost() was not removing hosts as expected. This fix tries to ensure that host removals will be successful under different situations. (Bug #22848249) References: See also: Bug #22678872.
* For a load-balanced connection, an ArrayIndexOutOfBoundsException was thrown when ConnectionGroupManager.removeHost() was called. It was due to an error in LoadBalancedConnectionProxy.removeHost(), which has now been fixed. (Bug #22730682)
* A Fabric connection threw a NullPointerException when all hosts have been removed from its host list, or when the internal load-balanced connection became null due to inconsistency of the replication connection. This fix adds to Connector/J the abilities to handle those situations. Also, a new connection property, loadBalanceHostRemovalGracePeriod, has been introduced, which sets the grace period for waiting to remove the currently active host from a load-balanced connection. See the entry for the new property in Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J (http://dev.mysql.com/doc/connector-j/6.0/en/connector-j- reference-configuration-properties.html) for details. (Bug #22678872) References: See also: Bug #22848249.
* With some Tomcat web applications, when Connector/J connects to the server with useLegacyDatetimeCode=false without setting serverTimeZone, a NullPointerException was returned. This was because the timezone property file for Connector/J was loaded by the bootstrap class loader, which did not know the location of the property file and thus failed to load it. This fix avoids the problem by making Connector/J use the same class loader for both the property file and the Connector/J classes. (Bug #22353759, Bug #79343)
* After a failed call of a stored procedure, any subsequent X DevAPI call resulted in a hang. (Bug #22038729)
* At every connection, Connector/J got the sql_mode variable from the server and tried to parse it as a number; because sql_mode is not a number (except for very old versions of MySQL), an NumberFormatException was always thrown and then caught by the code. This fix refactored the code to avoid the unnecessary throwing and catching of the error. (Bug #21181466, Bug #77171)
* The exception message in CallableStatement() for incorrect output parameter registration gave little detail and the wrong error code. (Bug #18068303, Bug #71131)
* On very fast servers with other third-party components accessing the data, a ConcurrentModificationException was sometimes thrown. This fix prevents the exception by adding a synchronization to ConnectionImpl.closeAllOpenStatements(), and by refactoring part of the code inside the method. (Bug #16736619, Bug #59462)
* When working with MySQL server 5.5 and 5.6, because Connector/J did not check the version number of the server it was connected to, errors and failures occurred when there was an attempt to use certain version-dependent features (for example, using fractional seconds for servers earlier than 5.6.4). With this fix, the proper exceptions are thrown in those cases.