Release Notes for MariaDB Connector/R2DBC 1.1.3

Overview

MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

MariaDB Connector/R2DBC 1.1.3 was released on 2022-12-23. This release is of GA (generally available) maturity. This release is compatible with R2DBC 1.0.0 specification.

Notable Changes

  • To support the R2DBC 1.0.0 specification, the following implementation has been added or changed:

    • Result.getRowsUpdated() now returns Mono<Long>. Prior to this release, Result.getRowsUpdated() returned Mono<Integer>.

  • The default Netty hostname verifier is now used. Prior to this release, a custom hostname verifier was used. (R2DBC-74)

  • Add SSL Tunnel mode:

    • New sslMode option tunnel (or TUNNEL) enables use of a preexisting SSL tunnel. (R2DBC-69)

    • New option sslContextBuilderCustomizer supports customizing SSL Context Builder. (R2DBC-69)

Issues Fixed

  • When subscriber cancellation occurs before the response ends, the connection might stall. (R2DBC-68)

  • When a query returns a multi-row resultset, an IllegalReferenceCountException exception occurs in the TextRowDecoder.setPosition() call. (R2DBC-65)

  • SSL host name verification does not properly close the socket when verification fails. An error is returned for SSL host name, and the connector fails with a socket close error. (R2DBC-70)

  • When a connection error occurs, the connection is not always properly closed. (R2DBC-71)

  • Pipelining PREPARE + EXECUTE can result in buffer leak when PREPARE fails. (R2DBC-73)

  • When a socket unexpectedly closes, parameters that are transformed as Byte Buffer may not be released. This causes the following error when setting the Netty error to the maximum. (R2DBC-72)

    LEAK: ByteBuf.release() was not called before it's garbage-collected.
    
  • During failover, the redo buffer is not released before it is garbage collected. (R2DBC-75)