Red Hat Data Grid 8.4 Release Notes
Get release information for Data Grid 8.4
Abstract
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.
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.
Providing feedback on Red Hat documentation
We appreciate your feedback on our technical content and encourage you to tell us what you think. If you’d like to add comments, provide insights, correct a typo, or even ask a question, you can do so directly in the documentation.
You must have a Red Hat account and be logged in to the customer portal.
To submit documentation feedback from the customer portal, do the following:
- Select the Multi-page HTML format.
- Click the Feedback button at the top-right of the document.
- Highlight the section of text where you want to provide feedback.
- Click the Add Feedback dialog next to your highlighted text.
- Enter your feedback in the text box on the right of the page and then click Submit.
We automatically create a tracking issue each time you submit feedback. Open the link that is displayed after you click Submit and start watching the issue or add more comments.
Thank you for the valuable feedback.
Chapter 1. Data Grid release information
Learn about new features and get the latest Data Grid release information.
1.1. Deprecation notice for Data Grid release 8.4.3
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.
1.2. What’s new in Data Grid 8.4.3
Data Grid 8.4.3 improves usability, increases performance, and enhances security. Find out what’s new.
Cache name added to the index file path
The cache name is now included as part of the default index path. The index path specifies the filesystem path for the index when the storage is set to 'filesystem', and it can be a relative or absolute path.
When you set a custom value for the index path, ensure there are no conflicts between caches that use the same indexed entities.
Simplified testing with infinispan-dev-mode.xml file
Data Grid Server distribution now includes infinispan-dev-mode.xml file that provides you with necessary configuration to simplify development experience with Data Grid and Quarkus projects. The infinispan-dev-mode.xml configuration file enables BASIC client authentication for the Hot Rod client and cross-site configuration.
To start the Data Grid Server with this configuration, complete the following steps:
-
Copy the
server/directory and rename the directory toserver2/. Start the first server using the
infinispan-dev-mode.xmlfile../bin/server.sh -c infinispan-dev-mode.xml
In another terminal, start the second server using the same configuration.
./bin/server.sh -c infinispan-dev-mode.xml -s server2 -Dinfinispan.site.name=site2 -o 100 -Djgroups.mcast_port=46656
- See the Data Grid logs to verify that Data Grid Servers have successfully formed cross-site view.
Enhanced DNS resolution for Hot Rod client
The Hot Rod client now supports alternate resolution strategies for connecting to Data Grid Server. You can configure the Hot Rod client with a single internal service DNS name that contains DNS entries for all running pods in the Data Grid cluster. Then the Hot Rod client can retrieve and use all the DNS records associated with that name, connecting to any available Data Grid Server instance.
Jakarta EE version of the Infinispan Test Driver
Data Grid distributes infinispan-server-testdriver-core-jakarta for users who are developing applications using the Jakarta EE platform.
Improved reindex performance with SQL query store
Data Grid 8.4.3 includes notable performance improvements specifically for reindex operations with SQL query store.
1.3. What’s new in Data Grid 8.4.2
Data Grid 8.4.2 improves usability, increases performance, and enhances security. Find out what’s new.
Support for Spring 6 and Spring Boot 3
Data Grid 8.4.2 adds support for Spring 6 and Spring Boot 3. Both Spring 6 and Spring Boot 3 require Java 17.
If you want to use the latest version of Spring or Spring Boot, update your artifacts as follows:
Spring 6
-
Embedded caches:
infinispan-spring6-embedded -
Remote caches:
infinispan-spring6-remote
Spring Boot 3
-
Embedded caches:
infinispan-spring-boot3-starter-embedded
Data Grid continues support for previous versions. You can continue using Spring 5 and Spring Boot 2.x in Data Grid 8.4.
Enhancements to cluster shutdown
Data Grid 8.4.2 includes several enhancements to prevent data loss and ensure consistency when you use the shutdown cluster command:
- Data Grid restricts access to the data stored in the cluster and modifications of the cluster state until the cluster is fully operational again.
- Improved error messages indicating that data stored in the cluster cannot be modified until the cluster is fully operational again.
- Improved log messages indicating which nodes already joined the cluster and which are still missing.
For more details see Using the Data Grid Command Line Interface Shutdown and restart of Data Grid clusters.
Monitoring disabled in Data Grid Helm chart
Monitoring is disabled by default in Data Grid Helm chart. This prevents deployment failure in case a user does not have authorization to manipulate ServiceMonitors granted by an admin.
Cache template conversion support
The cache configuration conversion tool now supports converting cache templates between different configuration formats, such as XML, JSON, and YAML.
For more information see Using the Data Grid REST API Converting Cache Configurations between XML, JSON and YAML.
Query of entries with BigInteger and BigDecimal values
Data Grid 8.4.2 now supports queries on cache entries that use BigInteger and BigDecimal values. Use @ProtoField annotations to annotate these fields in your Java classes and generate a Protostream schema that includes the CommonTypesSchema.
Query results include object version metadata
When performing a projection query, Data Grid let’s you specify the project version of the queried entity. The version metadata is included in the projection results, so you can determine which version of the entity was used to generate the projection results.
Cache index schema metamodel
You can retrieve a full index schema metamodel of all indexes defined on a cache using REST API. The full index schema metamodel includes detailed information about the index configuration, including entity names, Java classes, index names, and field specifications.
For more information see Using the Data Grid REST API Get Indexes Metamodel.
Enhancements to update schema functionality
From now you can update list of indexed entities in an existing cache with minimal downtime. Data Grid lets you restructure entity relationships, such as moving nested entities to the root level, without the need to create new caches.
1.4. What’s new in Data Grid 8.4.1
Data Grid 8.4.1 improves usability, increases performance, and enhances security. Find out what’s new.
Migrating segmented cache stores
The StoreMigrator.java utility now supports migration of data from segmented cache stores.
Use the
source.segment_countproperty to configure the number of segments for the source cache stores.migrator.properties
source.segment_count=256
1.4.1. REST API enhancements
Data Grid gives you access to remote caches and containers with HTTP over REST.
Comparing cache configurations
You can verify whether two cache configurations are semantically equivalent.
Invoke a
POSTrequest with amultipart/form-databody containing two configurations and the?action=compareparameter.POST /rest/v2/caches?action=compare
Data Grid responds with
204 (No Content)in case the configurations are equal, and409 (Conflict)in case they are different.
For more information see Data Grid REST API Guide Comparing cache configurations.
1.4.2. Resetting Hot Rod protocol version in the declarative configuration
In case your declarative configuration forces a specific version of the Hot Rod protocol, you can reset the version back to its default value of AUTO. When you set infinispan.client.hotrod.protocol_version to AUTO, the Hot Rod client automatically uses the latest available version.
1.4.3. Data Grid Console enhancements
Data Grid Console 8.4.1 includes the following enhancements and bug fixes:
- Distributed caches have two owners by default
- Improved error handling with indexing configuration and running queries
- Improved user experience with Global statistics page
1.5. What’s new in Data Grid 8.4.0
Data Grid 8.4 improves usability, increases performance, and enhances security. Find out what’s new.
Jakarta EE APIs
Data Grid 8.4 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>
For information about Jakarta EE see About Jakarta EE.
MemcachedDecoder performance improvement
MemcachedDecoder no longer blocks Netty threads: preventing deadlocks when the thread pool is exhausted.
1.5.1. Hot Rod clients
Hot Rod is a custom binary TCP protocol that provides high-performance data access to client applications in different programming languages.
Support for queries with application/x-protostream
Hot Rod Node.js client in Data Grid 8.4 adds support for queries with application/x-protostream media type. Configure Hot Rod JS client to have application/x-protostream media type for values in your caches to be able to perform queries on them.
You can now use the application/x-protostream media type for all the Hot Rod operations supported in JS client. For more information see Hot Rod Node.JS client guide.
Client intelligence configuration per cluster
When you configure Hot Rod client to use multiple Data Grid clusters you can use different client intelligence for each of the clusters.
For more information see Hot Rod Java client guide.
1.5.2. Data Grid Server
Data Grid Server runs in a dedicated Java Virtual Machine (JVM) and provides scalable and fault tolerant clusters for remote caches.
Micrometer metrics
Data Grid 8.4 uses Micrometer library for collecting metrics. Data Grid Server exposes statistics through the metrics endpoint. You can collect the statistics with any monitoring tools, for example with Prometheus. Micrometer metrics replace SmallRye Metrics implementation of the MicroProfile Metrics.
Additional resources
Improved metrics during state transfer operations
When the cluster topology changes Data Grid exposes metrics for the number of segments and the number of transactional segments. Data Grid generates time metrics that are compatible with the REST API and the JMX API.
RESP protocol endpoint
Data Grid Server includes an experimental module that implements the RESP3 protocol. The RESP endpoint allows Redis clients to connect to one or more Data Grid backed RESP servers and perform cache operations.
Data Grid 8.4 supports a subset of Redis commands that are typically used for cache operations. For a list of supported commands refer to the Using the RESP protocol endpoint with Data Grid documentation. The Data Grid team plans to implement additional commands in subsequent releases.
RESP protocol endpoint is available as a technology preview feature.
Additional resources
Dynamic role-based access control (RBAC)
Role-based access control (RBAC) capabilities use different permissions levels to restrict user interactions with Data Grid. You can modify user roles and assign them different permissions either programatically or using the Data Grid CLI and Data Grid Console.
For more information see Security authorization with role-based access control
Support for masked and external credentials
Data Grid Server lets you use masked passwords and external commands to add passwords to Data Grid Server configuration.
Option to generate JVM heap dumps
You can generate a dump of all the live objects that are on the JVM heap. Data Grid generates a heap dump file in HPROF format in the server data directory and responds with the full path of the file in JSON format.
1.5.3. Data Grid Console
Data Grid Console is a graphical user interface for monitoring and managing remote caches that includes the following features and enhancements in 8.4:
Cache creation wizard
Open the Cache Setup tab and let the Data Grid Console wizard guide you through the process of creating and configuring caches. The wizard includes instructions and tooltips that help you to create caches and to enable Data Grid capabilities and features, such as indexing, security or persistence. Once you complete all the steps you can download your configuration in JSON, YAML, or XML format and reuse the file.
Cache distribution statistics
The Data Grid Console introduces Metrics tab on the Cache details page. You can view and filter data for your nodes, such as the number of entries per node or memory usage.
1.5.4. Query API
Data Grid lets you index caches and perform relational or full-text queries with in the Ickle query language.
Hibernate ORM 6 support
The Hibernate ORM second-level cache (2LC) implementation in Data Grid has been upgraded to work with Hibernate 6.
Add the following dependency:
pom.xml
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-hibernate-cache-v60</artifactId>
<version>${version.infinispan}</version>
</dependency>
Data Grid 8.4 does not support Hibernate 5 due to Jakarta EE migration.
1.5.5. Data Grid native indexing annotations
This release introduces new indexing annotations: @Basic, @Keyword, @Text, and Embedded. These new annotations replaced Hibernate Search annotations which means that you are no longer required to annotate your Java classes with the @ProtoDoc annotation for remote caches.
With the new native indexing annotations you can annotate entities directly. Moreover, you can use these annotations the same way for both embedded and remote queries.
Each of the new annotations supports a set of attributes that further describe how the entity is indexed.
Data Grid indexing annotations
- @Basic
-
Use this annotation for numbers and short
Stringsthat don’t require any text transformation or processing. Supports thesortable,searchable, andprojectableattributes. - @Keyword
-
Use this annotation for
Strings. Supports the following attributes:searchable,projectable,sortable, andnormalizer. - @Text
-
Use this annotation for larger
Strings. Supportssearchable,projectable, andanalyzerattributes. - @Embedded
-
Use this annotation for embedded indexes and specify the entity structure. The
NESTEDstructure preserves the original object relationship structure while theFLATTENEDstructure makes the leaf fields multivalued of the parent entity.
Poem.java
@Indexed
public class Poem {
private Author author;
private String description;
private Integer year;
@Embedded(includeDepth = 2, structure = Structure.NESTED)
public Author getAuthor() {
return author;
}
@Text(projectable = true, analyzer = "whitespace", termVector = TermVector.WITH_OFFSETS)
public String getDescription() {
return description;
}
@Basic(projectable = true, sortable = true, indexNullAs = "1800")
public Integer getYear() {
return year;
}
}
Index startup mode
You can configure Data Grid to automatically perform operations to ensure that the index is consistent with data in the cache.
Startup modes
- none
- By default no indexing operation takes place.
- purge
- Clear the index when the cache starts. The cache will be unavailable during this operation.
- reindex
- Rebuild the index when the cache starts.
- auto
- Automatically clear or reindex the cache. If data is volatile and the index is persistent then the cache is cleared when it starts. If data is persistent and the index is volatile then the cache is reindexed when it starts.
Purge mode configuration
<distributed-cache>
<indexing storage="filesystem" startup-mode="purge">
<!-- Additional indexing configuration goes here. -->
</indexing>
</distributed-cache>
Dynamic index schema updates
You can update schema without reindexing and downtime as long as your changes are compatible with the previous schema. Data Grid preserves the existing indexing and updates only the schema.
You can update schema in one of the following ways:
Call the
updateIndexSchema()method to programmatically to update schema from a Hot Rod Java client.remoteCacheManager.administration().updateIndexSchema("MyCache");TipFor remote caches you can also update schema from Data Grid Console using the
update-schemacommand.-
Update the schema with
POSTrequest.
POST .../v2/caches/{myCache}/search/indexes?action=updateSchemaLimit for results returned by a query
Data Grid adds default-max-results property that limits the number of results returned by a query. The default value of default-max-results property is 100. Limiting the number of results returned by a query significantly improves performance of queries that don’t have an explicit limit set.
1.5.6. Data Grid Command Line Interface (CLI)
The Data Grid CLI lets you script and automate administrative operations for remote caches.
Improved security authentication
You can use Data Grid CLI to connect to Data Grid Server using client certificate authentication.
Applying command to all caches
Data Grid CLI lets you use --all-caches or -a option to apply your command to all caches. For example, if you execute the following command, Data Grid shows the backup location status for all caches:
[//containers/default]> site status --all-caches --site=NYC
For more information see Using the Data Grid command line interface.
1.6. Supported Java versions in Data Grid 8.4
Red Hat supports different Java versions, depending on how you install Data Grid.
Deprecation of Java 11 support
In Data Grid 8.4, support for Java 11 is deprecated and is planned to be removed in future release. 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.
Removal of Java 8 support
Data Grid 8.4 removes support for Java 8. Support for Java 8 was deprecated and planned for removal since Data Grid 8.2.
Hot Rod Java clients running in applications that require Java 8 can continue using older versions of client libraries.
Users of Data Grid 8.4 must upgrade their applications at least to Java 11. However, considering the deprecation of Java 11 and its removal in Data Grid 8.5, the Data Grid team recommends upgrading directly to Java 17.
Supported Java versions 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.
Remote caches
Red Hat supports Java 11 and Java 17 for Data Grid Server installations. For Hot Rod Java clients, Red Hat supports Java 11 and Java 17.
Red Hat supports Java 11 and Java 17 for Data Grid Server, Hot Rod Java clients, and when using Data Grid for embedded caches in custom applications.
When running Data Grid Server on bare metal installations, the JavaScript engine is not available with Java 17.
Chapter 2. Known and fixed issues
Learn about known issues in Data Grid and find out which issues are fixed.
2.1. Known Issues for Data Grid
For issues that affect Data Grid clusters that you manage with Data Grid Operator, you should refer to the Data Grid Operator 8.4 release notes.
Inconsistent transactions when network partitions occur
Issue: JDG-3935
Description: In scenarios where a network partition occurs for a Data Grid cluster, transactions are rolled back after the partition is healed.
Workaround: There is no workaround for this issue.
Data Grid conflict resolution performance
Issue: JDG-3636
Description: In some test cases, Data Grid partition handling functionality took longer than expected to perform conflict resolution.
Workaround: There is no workaround for this issue.
2.2. Fixed in Data Grid 8.4.3
Data Grid 8.4.3 includes the following notable fixes:
- JDG-6197 REST API fails to load the data distribution for local secured caches in Data Grid Console
- JDG-6194 The JSON configuration parser does not replace properties when retrieving values by name
-
JDG-6160 It is not possible to override the
tracing.propagation_enabledproperty using the HotRod properties - JDG-6125 Empty authorization roles serialized as JSON cannot be parsed
-
JDG-6095 Remote
getCacheNamesdoes not exclude secured caches based on user roles when listing available caches -
JDG-6251 The
CacheLoaderInterceptorleaves orphaned pending operations when encountering an availability exception - JDG-6235 Incorrect index statistics are displayed after clearing or rebuilding index
-
JDG-6231 The
Compactor.javaclass fails to properly close files, resulting in heap accumulation -
JDG-6229 Missing
CacheUpdateConfigurationAttributeTaskin theServerAdminOperationsHandler - JDG-6228 Protobuf metadata cache fails to provide validation error messages when the Protobuf schema is replaced
- JDG-6227 Deadlock during expiration of entries with local cache mode
-
JDG-6226
ManagedConnectionFactoryDataSourceis initialized at component start time - JDG-6223 Incorrect detection of IPv6 multihomed addresses by the Data Grid Server
- JDG-6222 Failed cache creation with backup and merge policy
-
JDG-6218
NoClassDefFoundErrorwhen using JDK 17 and JBossMarshalling -
JDG-6217 Missing
infinispan-hibernate-cache-v62in the Data Grid BOM file
2.3. Fixed in Data Grid 8.4.2
Data Grid 8.4.2 includes the following notable fixes:
- JDG-6057 RESP endpoint cannot parse request larger than packet size
-
JDG-6015 Not possible to update Helm Chart
deploy.security.batchon upgrade - JDG-5997 Changing index schema incompatibly, for example, making a non-sortable field sortable, results in ISPN014827
- JDG-5988 Helm Chart: DNS discovery fails when pods are not marked as ready
- JDG-5972 REST API blocks key and entry retrieval, causing non-blocking threads to wait for stream elements
-
JDG-5943 Adding entry with
putAllandreplaceWithVersioncauses a timeout -
JDG-5927 SQL Cache store initiation fails on SQL type
CHAR - JDG-5811 Data Grid Console: missing default value for indexing startup mode in the Cache creation wizard
-
JDG-5732 After the
shutdown clustercommand, caches remain accessible before all nodes rejoin the cluster -
JDG-3967 Missing error message about incomplete restart of a cluster after the
shutdown clustercommand - JDG-5549 REST and CLI commands add schema definition for invalid files
2.4. Fixed in Data Grid 8.4.1
Data Grid 8.4.1 includes the following notable fixes:
- JDG-5725 Creating Data Grid cluster backup over REST fails
- JDG-5726 Retrieving Data Grid Server configuration with GET request over the browser fails
- JDG-5724 Retrieving diagnostic reports for multiple Data Grid Server instances fails
- JDG-5825 GET command blocks text/plain caches
- JDG-5802 Data Grid Console: Queries return error when they run after the entries expire
- JDG-5842 Data Grid Console: Metrics for misses and retrievals are updated only after the page is reloaded
- JDG-5831 Data Grid Console: Cache creation wizard let users create indexed caches with invalid media type
- JDG-5832 Data Grid Console: Data distribution chart resizing issue
- JDG-5625 Updates to the Data Grid Console logo
- JDG-5686 Thread Locking when doing Access Control List (ACL) permission check
-
JDG-5805 Getting statistics with
AdvancedCache.getStats()fails -
JDG-5801 The default value of datasource connection pool
maxSizecauses NullPointerException (NPE) - JDG-5799 JSON characters should be escaped with two equality checks
- JDG-5800 Using Java 17 with Red Hat Single Sign-On configured on a Data Grid cluster throws an exception
- JDG-5821 Incompatibility between Data Grid Server 8.3 and Hot Rod client 8.4
-
JDG-5790
CacheInputEntryStreamescapes the value for every byte in the value
2.5. Fixed in Data Grid 8.4.0
Data Grid 8.4.0 includes the following notable fixes:
- JDG-4863 Option to delete Protobuf schema from Data Grid CLI or the Console
- JDG-5439 Topology update with multithread client is not secure
- JDG-5320 Missing support for embedded query with Protobuf-encoded caches
-
JDG-5316
SoftIndexFileStoreincreases the size of the data folder -
JDG-5318
SoftIndexFileStoreloads incorrect size of the data that is stored - JDG-5221 ArrayIndexOutOfBoundsException when using indexed field in a remote query with startOffset=10 and maxResults=-1
- JDG-5325 RELAY2 does not reconnect after a UnknownHostException
-
JDG-5219 Invalid Protobuf schema causes
PUToperation to fail without specific error message - JDG-5253 Creating two caches that have name difference only in special characters and have statics enabled results in second cache being degraded
- JDG-4766 Client should not close the server connection after timeout expires
- JDG-5544 Potential deadlock in index writer threads under heavy load
- JDG-5542 REST keys call fails if a cache has a value media-type that is not convertable to JSON
- JDG-5553 Bulk operations do not work properly with embedded key SQL store
- JDG-5641 Stores that don’t support expiration should not be configured to have expiration
- JDG-5575 If a Protobuf entry contains number with fractional portion it fails to persist this value for MicrosoftSQL 2019 server or Postgresql 13
- JDG-5531 YamlConfigurationReader throws NullPointerException for valid cache configuration
- JDG-5622 NullPointerException when computing Netty global connections
-
JDG-5624
SoftIndexFileStoredoes not remove log files with expiration - JDG-5327 ConcurrentModificationException for a joining node with CrossSiteReplication
- JDG-5232 Invalid YAML representation of a cache
- JDG-5442 Configuring memory max-size as non-byte value causes failure on CacheManager restart
- JDG-5411 If a security realm name contains special characters the HTTP library fails to parse it
- JDG-3394 Hot Rod client throws an exception if a remote-task is executed in TaskExecutionMode.ALL_NODES
- JDG-5629 A site sends empty batches with IRAC to the remote sites
2.6. Host system and dependency issues
In some cases Data Grid deployments can encounter errors that are caused by the host system or external dependency. This section provides details about any such known issues as well as troubleshooting and workaround procedures.
Nashorn JavaScript engine
If your Data Grid Server uses JavaScript to automate tasks, you must install the Nashorn JavaScript engine to ensure that these scripts can run on Data Grid 8.4. This is because OpenJDK 17 has removed support for the Nashorn JavaScript engine, its APIs, and the jjs tool.
For a bare-metal Data Grid Server, you can install Nashorn from the Maven central repository by issuing the following command in your Data Grid CLI:
bin/cli.sh install org.openjdk.nashorn:nashorn-core:15.4 \
org.ow2.asm:asm:7.3.1 \
org.ow2.asm:asm-util:7.3.1
On OpenShift, you can create an Infinispan Custom Resource (CR) that sets the Data Grid Operator to install Nashorn for your Data Grid cluster. For example:
apiVersion: infinispan.org/v1
kind: Infinispan
metadata:
name: infinispan
spec:
replicas: 2
dependencies:
artifacts:
- maven: org.openjdk.nashorn:nashorn-core:15.4
- maven: org.ow2.asm:asm:7.3.1
- maven: org.ow2.asm:asm-util:7.3.1
service:
type: DataGridTLS on Red Hat Enterprise Linux 7
RHEL 7 provides a version of the OpenSSL library that does not yet offer support for TLSv1.3. However Data Grid Server 8.4 enables TLSv1.3 and TLSv1.2 by default, which causes errors with client connections for encrypted Hot Rod and REST endpoints.
Data Grid Server also logs messages such as the following:
WARN [org.infinispan.HOTROD] ISPN004098: Closing connection due to transport error org.infinispan.client.hotrod.exceptions.TransportException:: ISPN004077: Closing channel due to error in unknown operation.
If you install Data Grid Server on RHEL 7 you should use the native Java SSL library by disabling OpenSSL with the following JVM option:
-Dorg.infinispan.openssl=false
Additional resources