Red Hat Training

A Red Hat training course is available for Red Hat OpenShift Application Runtimes

RHOAR Eclipse Vert.x Release Notes

Red Hat OpenShift Application Runtimes 1

For use with Red Hat OpenShift Application Runtimes Eclipse Vert.x 3.7.1

Red Hat Customer Content Services

Abstract

This Release Note contains important information related to Red Hat OpenShift Application Runtimes Eclipse Vert.x

Preface

Date of release: 2019-03-14

Chapter 1. Required Infrastructure Component Versions

The following versions of infrastructure components are required for all runtimes distributed as part of a RHOAR release. Red Hat does not provide support for components listed below, with the exception of components explicitly designated as supported.

Component nameVersion

Maven

3.5.0

Fabric8 Maven Plugin

4.1.0

JDK[a][b]

OpenJDK 8, OpenJDK 11[c]

OpenShift Container Platform (OCP)[d]

3.11 or later

Minishift

1.34.0 or later

CDK[e]

3.8.0

git

2.0 or later

oc command line tool

3.11 or later[f]

[a] A full JDK installation is required, as JRE does not provide tools for compiling Java applications from source.
[b] Red Hat OpenJDK is supported by Red Hat
[c] OpenJDK 9 is not supported by Red Hat.
[d] OCP is supported by Red Hat
[e] CDK is supported by Red Hat
[f] The version of the oc CLI tool should correspond to the version of OCP that you are using.

Chapter 2. Supported Eclipse Vert.x Runtime Component Configurations and Integrations

The following resource defines the supported configurations and integrations of Red Hat products with RHOAR Eclipse Vert.x:

Chapter 3. Features

3.1. New and Changed features

This release of RHOAR Eclipse Vert.x introduces the following new features and feature updates:

  • The micrometer-registry-prometheus artifact is set as the default in the vertx-micrometer-metrics artifact. If you use Prometheus to expose application metrics, you no longer need to include the micrometer-registry-prometheus artifact as a dependency in the pom.xml file of your application.
  • Red Hat supports Agroal as the default database connection pool with the vertx-jdbc-client artifact. Agroal was set as the default connection pool in the Vert.x 3.5.1 release.
  • Infinispan is upgraded to 9.4.6.Final-redhat-00002.

3.2. Deprecated features

No features or functionalities are marked as deprecated in this release.

Chapter 4. Release components

4.1. Supported Artifacts introduced in this release

AMQ client
This release supports sending and receiving AMQP messages through the vertx-amqp-client artifact. The vertx-amqp-client replaces the AMQP bridge and provides a more user-friendly API.
Kafka client
This release supports the vertx-kafka-client artifact for sending and receiving messages to Apache Kafka clusters.

4.2. Technology Preview artifacts introduced in this release

The following artifacts are provided as Technology Preview in this release.

Vert.x Config Vault
This release includes the vertx-config-vault artifact that extends the Vert.x Configuration Retriever to support retrieving configuration secrets from Vault.
Vert.x Redis Client
This release includes the vertx-redis-client artifact which is revised to provide an updated API.
Vert.x Web API Contract
This release includes the vertx-web-api-contract artifact that extends Vert.x Web to support OpenAPI 3.
Vert.x Web GraphQL
This release includes the vertx-web-graphql artifact that extends Vert.x Web capabilities and enables you to build a GraphQL server.
Note

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

4.3. Artifacts removed in this release

No artifacts are removed in this release.

4.4. Artifacts deprecated in this release

No artifacts are marked as deprecated in this release.

Chapter 5. Fixed issues

This RHOAR Eclipse Vert.x release incorporates all bugfixes from the upstream release. Issues resolved in the community release are listed in the Eclipse Vert.x 3.7.1 Release Notes.

Chapter 6. Known issues

6.1. Missing starr.version warning in projects that include the vertx-kafka-client artifact

When building a project that includes the vertx-kafka-client artifact, Maven generates a warning.

The POM for org.scala-lang:scala-compiler:jar:${starr.version} is missing, no dependency information available

To avoid this warning and a potential build failure, add the -Dstarr.version property to your build command.

-Dstarr.version=2.12.8.redhat-00001

6.2. False Connection reset by peer error messages when calling application endpoint

Making an HTTP request on an endpoint of a Vert.x application using either curl or a Java HTTP client, produces the following error in the logs after each request:

io.vertx.core.net.impl.ConnectionBase
SEVERE: java.io.IOException: Connection reset by peer

This behavior is caused by the interaction of the Netty application framework and the HAProxy load-balancer used by OpenShift. The error occurs due to existing HTTP connections being re-used by HAProxy without closing. Even though the error message is logged, no error condition occurs. HTTP requests are handled correctly and the application responds as expected.

Chapter 7. Known issues affecting required infrastructure components

  • Fabric8 Maven Plugin Issue #1640: Pushing an image into a custom repository during an s2i build with FMP 4.1.0 results in a DuplicateKeyException.

    Affected components and component versions
    This issues affects Fabric8 Maven Plugin 4.1.0.
    Description
    Fabric8 Maven Plugin does not process ImageConfiguration unless ImageConfiguration also contains a BuildImageConfiguration. Without a recognizable BuildImageConfiguration, Fabric8 Maven Plugin repeatedly calls the s2i image generators to create another default ImageConfiguration that contains the expected BuildImageConfiguration. This results in more than one ImageConfiguration being specified for the given s2i build, which in turn results in a DuplicateKeyException when FMP attempts to push the image to the registry specified in the pom.xml configuration file. This leads to image build failures when a new image build is triggered by a change in the deployment configuration of a pod on OpenShift.
    Workaround

    To prevent Fabric8 Maven Plugin form generating a duplicate ImageConfiguration, place the image configuration inside a build section in the pom.xml configuration file of your project, as shown in the examples below. This in turn prevents the DuplicateKeyException when new image build is triggered by a change in the deployment configuration of the pod.

    <configuration>
      <images>
        <image>
          <name>
            artifactrepository.somecompany.com:18444/demo-boot/demo-boot:1.0
          </name>
            <build>
              <from>
                fabric8/S2I_BASE_IMAGE_NAME
              </from>
              <assembly>
                <basedir>
                  /deployments
                </basedir>
                <descriptorRef>
                  artifact-with-dependencies
                </descriptorRef>
              </assembly>
              <env>
                <JAVA_LIB_DIR>
                  /deployments
                </JAVA_LIB_DIR>
                <JAVA_MAIN_CLASS>
                  org.example.class.name.Main
                </JAVA_MAIN_CLASS>
              </env>
            </build>
          ...
        </image>
      </images>
      ...
    </configurtation>

Legal Notice

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.