Chapter 5. Fixed issues

This Eclipse Vert.x release incorporates all bugfixes from community release of version 4.3.7. Issues resolved in the community release are listed in the Eclipse Vert.x 4.3.7 wiki page.

5.1. Fixed issues in the 4.3 release

This section describes issues that are fixed in Eclipse Vert.x 4.3.

5.1.1. Threads blocked with io.vertx.coreVertxException when using gRPC for client and server communication

In Eclipse Vert.x 4.3.4 or earlier, Google Remote Procedure Call (gRPC) communication between a client and a server blocked threads and resulted in an io.vertx.core.VertxException error. This issue occurred if the number of available event-loop threads was insufficient, which caused the Eclipse Vert.x gRPC Server (vertx-grpc-server) or the Eclipse Vert.x gRPC Client (vertx-grpc-client) to self-deadlock.

This issue is resolved in the Eclipse Vert.x 4.3.5 release. The internal context for the SSL initialization now uses a worker context rather than an event-loop context.

5.1.2. JDBCClient error when searching table data by ROWID

In Eclipse Vert.x 4.2, the vertx-jdbc-client with the Oracle JDBC driver threw a java.sql.SQLException when attempting to retrieve table data by using the ROWID. This issue occurred because, in Eclipse Vert.x 4.2, the ROWID was available as an array of bytes. In earlier releases of Eclipse Vert.x, the ROWID was available as a string type.

This issue is resolved in the Eclipse Vert.x 4.3.1 release. Eclipse Vert.x 4.2 performed custom type casting based on plain Java types. Even though this behavior typically produces correct results, it might incorrectly identify special database types. Because custom type casting is not a built-in feature of modern JDBC drivers, the JDBC client now relies on the driver to perform vendor-specific casts that are more suitable than the old Eclipse Vert.x heuristics.

5.1.3. JDBCPool error when parsing ROWID

In Eclipse Vert.x 4.2, the JDBC pool threw a java.lang.UnsupportedOperationException when attempting to parse the ROWID. This issue occurred because, in Eclipse Vert.x 4.2, the ROWID could not be parsed directly as an array of bytes. In earlier releases of {VertX), the ROWID could be parsed as a string type.

This issue is resolved in the Eclipse Vert.x 4.3.1 release based on the same solution described in the preceding section.

5.1.4. Unexpected results in stored procedure calls when using a PostgreSQL JDBC driver 9.0 or later

In Eclipse Vert.x 4.2, the vertx-jdbc-client with a PostgreSQL JDBC driver 9.0 or later produced unexpected results in stored procedure calls. This issue occurred because, in Eclipse Vert.x 4.2, the vertx-jdbc-client did not support the explicit SQL type information that modern PostgreSQL database drivers and servers require when executing callable statements.

This issue is resolved in the Eclipse Vert.x 4.3.1 release. Callable ResultSet metadata is now extracted from all sources involved in the query, from the first database response, as well as the individual result sets that form part of the response. The complete information allows the JDBC client to correctly identify the type of data in a column and to perform the correct casts.

5.2. Fixed issues in earlier 4.x releases

This section describes issues that were fixed in earlier Eclipse Vert.x 4.x releases.

5.2.1. Google Guava classes included in GraphQL builds

In the Eclipse Vert.x 4.0.0 and 4.0.2 releases, the vertx-web-graphql dependency was not usable. This was because an incomplete build of GraphQL Java with version 16.1.0.redhat-00001 was used. In the incomplete GraphQL build, the Guava classes were missing.

This issue is resolved in the Eclipse Vert.x 4.0.3 release. The release includes the GraphQL Java 16.1.0.redhat-00002 version, which is a complete build with Guava classes. These Guava classes are shaded into the jar.

5.2.2. vertx-opentracing available in Eclipse Vert.x builds

The vertx-opentracing dependency was introduced as a Technical Preview feature in Eclipse Vert.x 4.0.0. However, the dependency was not available in Eclipse Vert.x 4.0.0 and 4.0.2 releases.

This issue is resolved in the Eclipse Vert.x 4.0.3 release. The release includes the vertx-opentracing dependency.