Data Grid Operator 8.3 Release Notes

Red Hat Data Grid 8.3

Get release information for Data Grid Operator 8.3

Red Hat Customer Content Services

Abstract

Find out about features and enhancements in Data Grid Operator 8.3 as well as known and resolved issues.

Red Hat Data Grid

Data Grid is a high-performance, distributed in-memory data store.

Schemaless data structure
Flexibility to store different objects as key-value pairs.
Grid-based data storage
Designed to distribute and replicate data across clusters.
Elastic scaling
Dynamically adjust the number of nodes to meet demand without service disruption.
Data interoperability
Store, retrieve, and query data in the grid from different endpoints.

Data Grid documentation

Documentation for Data Grid is available on the Red Hat customer portal.

Data Grid downloads

Access the Data Grid Software Downloads on the Red Hat customer portal.

Note

You must have a Red Hat account to access and download Data Grid software.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

Chapter 1. Data Grid Operator 8.3

Get version details for Data Grid Operator 8.3 and information about issues.

1.1. Data Grid Operator 8.3.7

What’s new in 8.3.7.

Disabling FIPS mode

You can disable FIPS mode in your Infinispan CR, so that any component that uses a JVM can ignore FIPS mode. This means that your Data Grid instance can run on any OpenShift cluster that has FIPS mode enabled.

Enhanced bidirectional reconciliation

Data Grid Operator 8.3.7 improves the bidirectional reconciliation mechanism, so that it includes idempotent creation and retrieval capabilities. The idempotent capability aligns bidirectional reconciliation with Kubernetes conventions.

See Resource reconciliation (Data Grid Operator)

Updated cluster view response

The Data Grid Operator 8.3.7 can now updates the status field to False when it cannot create a cache from a Cache custom resource (CR).

Validating and mutating webhooks

Data Grid Operator 8.3.7 includes validating and mutating webhooks. A webhook changes the behavior of the Kubernetes API, so that this API can immediately reject any CR with invalid specifications.

1.2. Data Grid Operator 8.3.4

What’s new in 8.3.4.

Hot Rod rolling upgrades with Data Grid Operator

From version 8.3.4 onward, you can upgrade Data Grid clusters when new versions become available without service downtime and data loss. The shutdown upgrade remains the default upgrade type. For information on how to enable Hot Rod rolling upgrades see Upgrading Data Grid clusters.

Important

Hot Rod rolling upgrades are available as a technology preview feature. For more information, see Red Hat Technology Preview Features Support Scope.

User-defined annotations for created resources

This release introduces configurable annotations that you can use to organize and monitor Data Grid resources.

Performance improvement that avoids unnecessary iptable rules

The Data Grid Operator endpoint is now available as a headless service. Headless services avoid the creation of several iptable rules that can impact the performance of the cluster.

OpenShift route as a expose type for cross-site replication

This release lets you use OpenShift Route as a new expose type for cross-site replication. You can use an OpenShift Route to handle network traffic for backup operations between Data Grid clusters.

Data Grid Operator resource reconciliation

Data Grid Operator 8.3.4 introduces bidirectional reconciliation that enables syncing Data Grid caches with OpenShift Custom Resource (CR) definitions. Bidirectional reconciliation synchronizes your CRs with changes that you make to Data Grid resources through the Data Grid Console, command line interface (CLI), or other client application and vice versa.

To perform bidirectional reconciliation, you must have configListener enabled in the Data Grid service.

Configuration enhancements

When configuring cross-site replication, you no longer need to specify locations in the Data Grid CR. Data Grid Operator configures Data Grid services without site locations configured.

1.3. Data Grid Operator 8.3.1

What’s new in 8.3.1.

Updated OpenShift bundle for Data Grid Operator deployments

The OpenShift bundle for Data Grid Operator deployments includes images built with OpenJDK 11 to support multiple system architectures including:

  • x86 (x86_64)
  • s390x (IBM Z)
  • ppc64le (IBM Power Systems)

OpenJ9 deprecation

Any OpenJ9 images for IBM Z and IBM Power Systems will be deprecated.

For more information see Java Change in Power and Z OpenShift Images.

Enhancements to memory and CPU requests and limits

This release increases the default values for memory and CPU resources that Data Grid Operator requests from the OpenShift scheduler when creating Data Grid pods.

  • 1Gi of memory.
  • CPU requests are unbounded.

Additionally you can now allocate resources in the format of <limit>:<requests> in your Infinispan CR as follows:

spec:
  container:
    cpu: "2000m:1000m"
    memory: "2Gi:1Gi"

Readiness and liveness probes updated for better performance

Settings for the readiness and liveness probes are updated so that Data Grid clusters become available sooner.

1.4. Data Grid Operator 8.3 GA

What’s new in 8.3 GA.

Numerous improvements to the Data Grid Operator code base

The Data Grid team have invested a lot of time and effort into internal improvements to the Data Grid Operator code base to enable future enhancements.

Full support for native CLI installation and operation

To improve the installation and operation experience, Data Grid 8.3 offers full support for the native CLI as an oc client plugin. Installing the native CLI extends your oc client with the following commands:

Command

Description

oc infinispan install

Creates Data Grid Operator subscriptions and installs into the global namespace by default.

oc infinispan create cluster

Creates Data Grid clusters.

oc infinispan get clusters

Displays running Data Grid clusters.

oc infinispan shell

Starts an interactive remote shell session on a Data Grid cluster.

oc infinispan delete cluster

Removes Data Grid clusters.

oc infinispan uninstall

Removes Data Grid Operator installations and all managed resources.

Custom Data Grid Server configuration

You can now add Data Grid Server configuration to a ConfigMap and make it available to Data Grid Operator. Data Grid Operator can then apply the custom configuration to your Data Grid cluster.

Configurable number of relay nodes for cross-site replication

Data Grid clusters now use router pods, which are GossipRouter instances, to coordinate RELAY messages for cross-site replication. You can also configure the number of pods in each cluster that can send RELAY messages to router pods with the sites.local.maxRelayNodes field.

TLS security for cross-site connections

Add keystores, and optional trust stores, to encrypt RELAY messages and secure cross-site replication traffic between Data Grid clusters.

Cache service type deprecation

The Cache service type was designed to provide a convenient way to create a low-latency data store with minimal configuration. Additional development on the Infinispan CRD has shown that the Cache CR offers a better approach to achieving this goal, ultimately giving users more choice and less deployment overhead. For this reason, the Cache service type is planned for removal in the next version of the Infinispan CRD and is no longer under active development.

Red Hat recommends configuring the DataGrid service type for clusters. The DataGrid service type continues to benefit from new features and improved tooling to automate complex operations such as cluster upgrades and data migration.

You can create DataGrid service clusters as follows:

  • Set spec.service.type: DataGrid in your Infinispan CR.
  • Use the -Pservice.type=DataGrid argument with the native CLI plugin.

1.5. Data Grid Operator 8.3.x release information

The following table provides detailed version information for Data Grid Operator.

Note

Data Grid Operator versions do not always directly correspond to Data Grid versions because the release schedule is different.

Data Grid Operator versionData Grid versionFeatures

8.3.8

8.3.1

Fixes security vulnerabilities.

8.3.7

8.3.1

Includes several bug fixes. For new features, see Data Grid Operator 8.3.7.

8.3.6

8.3.1

Includes several bug fixes.

8.3.5

8.3.1

Fixes security vulnerabilities.

8.3.4

8.3.1

See Data Grid Operator 8.3.4

8.3.3

8.3.0

Fixes security vulnerabilities.

8.3.2

8.3.0

Fixes security vulnerabilities.

8.3.1

8.3.0

* Updates bundle for Data Grid Operator deployments.

* Increases default memory and CPU limits.

* Adds separate settings for requests and limits to the Infinispan CRD.

* Updates readiness and liveness probes for better performance.

8.3.0

8.3.0

See Data Grid Operator 8.3 GA

Chapter 2. Known and fixed issues

Learn about known issues for Data Grid Operator and find out which issues are fixed.

2.1. Known issues with Data Grid Operator deployments

This section describes issues that affect Data Grid clusters that you manage with Data Grid Operator. For complete details about Data Grid, you should refer to the Data Grid 8.3 release notes.

Unexpected behavior occurs after OOM exceptions

Issue: JDG-3991

Description: If out of memory exceptions cause Data Grid Server to terminate on OpenShift, unexpected behavior can occur. In some cases nodes cannot restart and the org.infinispan.LOCKS enters degraded mode. The following exception is written to the pod log file:

FATAL (main) [org.infinispan.SERVER] ISPN080028: Red Hat Data Grid Server failed to start java.util.concurrent.ExecutionException: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheException: Initial state transfer timed out for cache org.infinispan.LOCKS on <pod-name-id>

Workaround: There is no workaround for this issue. You should configure eviction in Data Grid caches to help avoid OOM exceptions.

2.2. Fixed in Data Grid Operator 8.3.0

Data Grid Operator 8.3.0 includes the following notable fixes:

  • JDG-4682 Removing Infinispan CR deletes user created secrets
  • JDG-4763 Clients cannot connect to remote caches that use TLS/SSL encryption
  • JDG-4572 Native CLI oc plugin infinispan delete command does not fail without subcommand
  • JDG-4568 Native CLI oc plugin does not interpret arrow keys correctly
  • JDG-4574 Native CLI oc plugin install command does not work
  • JDG-5026 Cluster is unable to start after graceful shutdown

2.3. Fixed in Data Grid Operator 8.3.1

Data Grid Operator 8.3.1 includes the following notable fixes:

  • JDG-5078 Ensure compatibility with sidecar injection

2.4. Fixed in Data Grid Operator 8.3.4

Data Grid Operator 8.3.4 includes the following notable fixes:

  • JDG-5171 Operator version is undefined
  • JDG-5108 Data Grid restore procedure fails when the Data Grid Operator receives an upgrade
  • JDG-5119 Deadlock occurs when deleting Infinispan CR with propagationPolicy = foreground
  • JDG-4304 Data Grid Operator does not reflect EndpointEncryption field changes

2.5. Fixed in Data Grid Operator 8.3.6

Data Grid Operator 8.3.6 includes the following notable fixes:

  • JDG-5393 Operator exposes clusterwide ServiceAccount privileges
  • JDG-5370 Graceful shutdown fails with cross-site replication

2.6. Fixed in Data Grid Operator 8.3.7

Data Grid Operator 8.3.7 includes the following notable fixes:

  • JDG-5425 Specifying multiple authorization permmisions for a role might lead to server startup failure.
  • JDG-5410 Specifying tls.key and tls.crt keys for a certificate secret causes server startup failure.
  • JDG-5405 Initiating a graceful shudown of a cluster with no pods causes issues with the Pod Status diagram on OpenShift.

Chapter 3. Data Grid on OpenShift

3.1. Data Grid 8.3 images

Data Grid 8.3 includes two container images, the Data Grid Operator image and Data Grid Server image.

Data Grid images are hosted on the Red Hat Container Registry, where you can find health indexes for the images along with information about each tagged version.

Custom Data Grid Deployments

Red Hat does not support customization of any 8.3 images from the Red Hat Container Registry through the Source-to-Image (S2I) process or ConfigMap API.

As a result it is not possible to use custom:

  • Discovery protocols
  • JGroups SYM_ENCRYPT or ASYM_ENCRYPT encryption mechanisms

Additional resources

3.2. Embedded caches on OpenShift

Using embedded Data Grid caches in applications running on OpenShift, which was referred to as Library Mode in previous releases, is intended for specific uses only:

  • Using local or distributed caching in custom Java applications to retain full control of the cache lifecycle. Additionally, when using features that are available only with embedded Data Grid such as distributed streams.
  • Reducing network latency to improve the speed of cache operations.

The Hot Rod protocol provides near-cache capabilities that achieve equivalent performance to a standard client-server architecture.

Requirements

Embedding Data Grid in applications running on OpenShift requires you to use a discovery mechanism so Data Grid nodes can form clusters to replicate and distribute data.

Red Hat supports only DNS_PING as the cluster discovery mechanism.

DNS_PING exposes a port named ping that Data Grid nodes use to perform discovery and join clusters. TCP is the only supported protocol for the ping port, as in the following example for a pod on OpenShift:

spec:
  ...
  ports:
    - name: ping
      port: 8888
      protocol: TCP
      targetPort: 8888

Limitations

Embedding Data Grid in applications running on OpenShift also has some specific limitations:

  • Persistent cache stores are not currently supported.
  • UDP is not supported with embedded Data Grid.

Custom caching services

Red Hat highly discourages embedding Data Grid to build custom caching servers to handle remote client requests. To benefit from regular, automatic updates with performance improvements and fix security issues, you should create Data Grid clusters with the Data Grid Operator instead.

Legal Notice

Copyright © 2023 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.