Search

Chapter 1. Data Grid 8 upgrade notes

download PDF

Review the details in this section before upgrading from one Data Grid 8 version to another.

1.1. Upgrading to Data Grid 8.4

Read the following information to ensure a successful upgrade from previous versions of Data Grid 8 to 8.4:

Hot Rod client defaults

Data Grid 8.4.6 introduced changes to the properties of the Hot Rod client.

infinispan.client.hotrod.ssl_hostname_validation

A new property, infinispan.client.hotrod.ssl_hostname_validation with a default value of true. This property enables TLS hostname validation based on RFC 2818 rules. Additionally, setting the infinispan.client.hotrod.sni_host_name is now required when hostname validation is enabled.

Table 1.1. Default property changes
PropertyData Grid 8.4Previous versions

infinispan.client.hotrod.connect_timeout

2000 ms / 2 seconds

60000 ms / 60 seconds

infinispan.client.hotrod.socket_timeout

2000 ms / 2 seconds

60000 ms / 60 seconds

infinispan.client.hotrod.max_retries

3

10

infinispan.client.hotrod.min_evictable_idle_time

180000 ms / 3 minutes

1800000 ms / 30 minutes

Improved metrics naming for JGroups and cross-site metrics

In Data Grid 8.4.4, you can enable the name-as-tags property for JGroups metrics and cross-site metrics.

Enabling name-as-tags simplifies metrics, displaying cluster and site names as tags rather than including them in metric names.

When you set name-as-tags to false, metrics are named based on the channel, resulting in multiple metrics for the same purpose:

# TYPE vendor_jgroups_xsite_frag4_get_number_of_sent_fragments gauge
# HELP vendor_jgroups_xsite_frag4_get_number_of_sent_fragments Number of sent fragments
vendor_jgroups_xsite_frag4_get_number_of_sent_fragments{cluster="xsite",node="..."} 0.0
# TYPE vendor_jgroups_cluster_frag4_get_number_of_sent_fragments gauge
# HELP vendor_jgroups_cluster_frag4_get_number_of_sent_fragments Number of sent fragments
vendor_jgroups_cluster_frag4_get_number_of_sent_fragments{cluster="cluster",node="..."} 2.0

When you set name-as-tags to true, metrics are simplified, and cluster and site names appear as tags:

# TYPE vendor_jgroups_frag4_get_number_of_sent_fragments gauge
# HELP vendor_jgroups_frag4_get_number_of_sent_fragments Number of sent fragments
vendor_jgroups_frag4_get_number_of_sent_fragments{cache_manager="default",cluster="xsite",node="..."} 0.0
vendor_jgroups_frag4_get_number_of_sent_fragments{cache_manager="default",cluster="cluster",node="..."} 2.0

In addition to simplified metrics, when you change the cluster name and site name, there is no need to update Grafana dashboards, as the metric names remain consistent.

Migrating from Java 8

As of Data Grid 8.4, Red Hat supports Java 11 and Java 17 for Data Grid Server installations, Hot Rod Java clients, and when using Data Grid for embedded caches in custom applications. Data Grid users must upgrade their applications at least to Java 11. Support for Java 8 was deprecated in Data Grid 8.2 and removed in Data Grid 8.4.

Embedded caches

Red Hat supports Java 11 and Java 17 when using Data Grid for embedded caches in custom applications. Data Grid users must upgrade their applications at least to Java 11.

Remote caches

Red Hat supports Java 11 and Java 17 for Data Grid Server and Hot Rod Java clients.

Hot Rod Java clients running in applications that require Java 8 can continue using older versions of client libraries. Red Hat supports using older Hot Rod Java client versions in combination with the latest Data Grid Server version. However, if you continue using older version of the client you will miss fixes and enhancements.

Important

OpenJDK 17 has removed support for the Nashorn JavaScript engine, its APIs, and the jjs tool. If your Data Grid Server uses JavaScript to automate tasks, you must install the Nashorn JavaScript engine.

Adding Jakarta EE dependencies

As of version 8.4 Data Grid distributes Jakarta EE 9+ based jars. If your application requires Jakarta specific dependencies, append the artifacts with -jakarta, for example:

pom.xml

<dependency>
   <groupId>org.infinispan</groupId>
   <artifactId>infinispan-client-hotrod-jakarta</artifactId>
</dependency>

Updating store properties configuration

In Data Grid 8.4, store provided properties no longer override store explicit configuration. The following example illustrates how you should update your configuration.

This example sets the read only configuration of the store to true:

example.xml

<persistence>
  <file-store>
    <index path="testCache/index" />
    <data path="testCache/data" />
    <property name="readOnly">true</property>
  </file-store>
</persistence>

In the updated example bellow, the read-only property is provided to the store itself and does not affect the store explicit configuration.

example.xml

<persistence>
  <file-store read-only="true">
    <index path="testCache/index" />
    <data path="testCache/data" />
  </file-store>
</persistence>

Additional resources

Deprecated features and functionality

In Data Grid 8.4.3, the following features and functionality are deprecated and planned to be removed in future Data Grid releases.

Red Hat will provide support for these features and functionalities during the current release lifecycle, but they will no longer receive enhancements and will be eventually removed. It is recommended to transition to alternative solutions to ensure future compatibility.

Support for Java 11

Support for Java 11 is deprecated and planned to be removed in Data Grid version 8.5. Users of Data Grid 8.5 must upgrade their applications at least to Java 17.

You can continue using older Hot Rod Java client versions in combination with the latest Data Grid Server version. However, if you continue using older version of the client you will miss fixes and enhancements.

Support for Java EE dependencies

Support for Java EE dependencies is deprecated and planned to be removed in Data Grid version 8.5. Transition to Jakarta EE dependencies and APIs to align with the evolving Java enterprise ecosystem.

Support for Spring 5.x and Spring Boot 2.x

Support for Spring Boot 2.x and Spring 5.x is deprecated and planned to be removed in version Data Grid 8.5. Migrate to newer versions of Spring Boot and Spring framework for compatibility with future Data Grid releases.

Support for JCache

Support for JCache (JSR 107) is deprecated and planned to be removed in Data Grid version 8.5. As an alternative use other caching API developments in the Jakarta EE ecosystem.

Deprecation of Data Grid modules for Red Hat JBoss EAP

The Data Grid modules for Red Hat JBoss EAP applications that were distributed as a part of the Data Grid release are deprecated and planned to be removed in Data Grid version 8.5.

JBoss EAP users can use the infinispan subsystem that is integrated within the JBoss EAP product release without the need to separately install Data Grid modules.

Scattered cache mode

Scattered cache mode is deprecated and planned to be removed in Data Grid version 8.5. As an alternative to scattered caches, you can use distributed caches instead.

Adding caches to ignore list using the Data Grid Console or REST API

The ability to add caches to the ignore list using the Data Grid Console or REST API, which allows temporarily excluding specific caches from client requests, is deprecated. This feature is planned to be removed in future releases.

Cache service type

The Cache service type is deprecated and planned to be removed in Data Grid 8.5. The Cache service type was designed to provide a convenient way to create a low-latency data store with minimal configuration. Use the DataGrid service type to automate complex operations such as cluster upgrades and data migration.

Testing Data Grid Server on Windows

The support for Data Grid Server on on Windows Server 2019 is deprecated and planned to be removed in Data Grid 8.5. However, the Data Grid team will continue testing C++ Hot Rod client with Windows Server 2019.

Deprecation of the PrincipalRoleMapperContext interface

org.infinispan.security.PrincipalRoleMapperContext was deprecated in Data Grid 8.4 and replaced by org.infinispan.security.AuthorizationMapperContext.

Removal of the fetch-state store property

The fetch-state attribute has been deprecated and removed in Data Grid 8.4 without any replacement. You can remove the attribute from your xml configuration.

This change does not affect shared stores that have access to the same data. Local cache stores can use purge on startup to avoid loading stale entries from persistent storage.

Upgrade from 8.1 at a minimum

If you are upgrading from 8.0, you must first upgrade to 8.1. Persistent data in Data Grid 8.0 is not binary compatible with later versions. To overcome this incompatibility issue, Data Grid 8.2 and later automatically converts existing persistent cache stores from Data Grid 8.1 at cluster startup. However, Data Grid does not convert cache stores from Data Grid 8.0.

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.