Web lists-archives.com

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.

Enjoy!

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:

             + BalanceStrategy

             + ProfilerEventHandler

             + AuthenticationPlugin

      Bugs Fixed

        * 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.

Documentation
--------------
Online: http://dev.mysql.com/doc/connector-j/6.0/en/index.html

Reporting Bugs
---------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql