-
Language:
English
-
Language:
English
7.1.2 Release Notes
Known and Resolved Issues for JBoss Data Grid 7.1.2
Abstract
Chapter 1. Introduction to JBoss Data Grid 7.1.2
1.1. Introduction to Red Hat JBoss Data Grid 7.1
Welcome to Red Hat JBoss Data Grid 7.1. As you become familiar with the newest version of JBoss Data Grid these Release Notes provide you with information about new features, as well as known and resolved issues. Use this document in conjunction with the entire JBoss Data Grid documentation suite, available at the Red Hat Customer Service Portal’s JBoss Data Grid documentation page.
1.2. About Red Hat JBoss Data Grid
Red Hat’s JBoss Data Grid is an open source, distributed, in-memory key/value data store built from the Infinispan open source software project. Whether deployed in client/server mode or embedded in a Java Virtual Machine, it is built to be elastic, high performance, highly available and to scale linearly.
JBoss Data Grid is accessible for both Java and Non-Java clients. Using JBoss Data Grid, data is distributed and replicated across a manageable cluster of nodes, optionally written to disk and easily accessible using the REST, Memcached and Hot Rod protocols, or directly in process through a traditional Java Map API.
1.3. Overview
This document contains information about the known issues of Red Hat JBoss Data Grid 7.1. Customers are requested to read this documentation prior to installing this version.
Chapter 2. Applying Patches to JBoss Data Grid
2.1. Patching Existing Server Instances
Micro releases for the JBoss Data Grid server are distributed as a patch. This is for your convenience, as the new version will not completely replace the installation. The base version to be patched is the x.y.0 release, and the patches x.y.# (micro release or cumulative patch) may be applied to that instance. The patch can be rolled back (including the configuration) if there is any issue during the patching process, and any subsequent patches may be applied in the same way.
This process is similar to the already known procedure in JBoss Enterprise Application Platform (EAP).
Applying the JBoss Data Grid 7.1.2 patch
1) Download the patch from the Red Hat Customer Portal at https://access.redhat.com/downloads/
2) Connect to the running instance to be patched using the JBoss CLI:
$JDG_HOME/bin/cli.sh --connect --controller=127.0.0.1:9990
3) Ensure there are no active connections to the server, and then apply the patch:
patch apply /path/to/jboss-datagrid-7.1.2-server-patch.zip
4) Restart the server:
shutdown --restart=true
All other distributions, such as the EAP modules, clients, and standalone library mode are provided as a full release. Due to this there is no possibility to patch existing archives for these distributions.
2.2. Rolling Back the Server Version
You can roll back patches to revert the JBoss Data Grid server to the previously installed version.
You should roll back patches only after applying a patch that results in unexpected behavior or undesirable effects. Rolling back patches is not intended for general uninstall functionality.
To revert a JBoss Data Grid patch, do the following:
Stop the server instance that you want to roll back if it is running.
Either use the Administration Console to stop the server or enter Ctrl-C in the terminal where JBoss Data Grid is running.
Open a terminal and change to the JDG_HOME directory.
$ cd JDG_HOME
Find the ID of the patch that you want to roll back.
$ bin/cli.sh "patch history"
Roll back the server version as follows:
$ bin/cli.sh "patch rollback --patch-id=PATCH_ID --reset-configuration=false"
WarningUse caution when specifying the
reset-configuration
option.--reset-configuration=false
does not revert the server configuration. Because applying patches can change the server configuration, it is possible that the server does not restart if you roll back the patch but do not roll back the configuration. In this case, you should verify the server configuration and manually adjust it as needed before starting the server.--reset-configuration=true
reverts the server configuration to the pre-patch state. Any changes to the server configuration after the patch was applied are removed.If conflicts exist when you attempt to roll back the patch, the operation fails and warnings occur. Enter
patch --help
to list available arguments that you can use to resolve the conflicts.- Start the server with either the standalone.sh or domain.sh script.
Chapter 3. Supported Configurations
3.1. Supported configurations
Supported hardware and software configurations for JDG 7.1 are available on the Customer Portal at https://access.redhat.com/articles/2435931.
Chapter 4. Component Versions
4.1. Component Versions
The full list of component versions used in Red Hat JBoss Data Grid 7.1 are available on the Customer Portal at https://access.redhat.com/site/articles/488833.
Chapter 5. Native Hot Rod Clients
5.1. Native Hot Rod Clients
There are no changes in the Hot Rod C++ and Hot Rod C# native clients from JBoss Data Grid 7.1.1 to 7.1.2. As such, no new builds for these clients were created, and the 7.1.1 native clients can be used with JDG 7.1.2.
Chapter 6. Known Issues
6.1. Known Issues
- JDG-96 - Cache events are incompatible with CDI 1.1 in JDG 7
When using CDI annotations with the CDI 1.1 API, such as the version found within JBoss EAP 7, a
java.lang.RuntimeException
is thrown; this exception is thrown as the cache events used by JBoss Data Grid 7.1.2 include content that has been removed by CDI 1.1.This is a known issue in JBoss Data Grid 7.1.2. This issue is resolved in the CDI 1.2 API; to workaround this issue attach the listeners manually, as outlined in the following steps:
-
Remove CDI annotations from the listener bean, including removing all
@Observes
annotations from methods. -
Add Listener annotations on desired methods; for example,
@CacheStarted
. -
Manually register listeners using
AdvancedCache#addListener
.
-
Remove CDI annotations from the listener bean, including removing all
- JDG-436 - JMX operation ClusterCacheStats.resetStatistics() not working
When executing the JMX operation
ClusterCacheStats.resetStatistics()
none of the cluster statistics are reset.This is a known issue in JBoss Data Grid 7.1.2, and to workaround this issue execute
Statistics.resetStatistics()
on each server individually.- JDG-474 - CLI - container and cache commands don’t work in domain mode
When executing
container
orcache
based commands through the CLI in domain mode the following message is displayed:Container does not exists
This is a known issue in JBoss Data Grid 7.1.2, and no workaround exists at this time.
- JDG-244 - Spark connector fails with CCE when compatibility mode is enabled
When attempting to insert values into a cache using the Spark connector while compatibility mode is enabled the request will fail with a
ClassCastException
.This is a known issue in JBoss Data Grid 7.1.2, and to workaround this issue disable compatibility mode.
- JDG-826 - Deadlock during stopping CacheManager
When a new cache is started during server shutdown it can result in a deadlock.
This is a known issue in JBoss Data Grid 7.1.2, and to workaround this issue do not start any caches while the server is shutting down.
- JDG-841 - Rolling Upgrades from JDG 6.6.0 or earlier ignore cache store
The rolling upgrade procedure from JBoss Data Grid 6.6.0 and before records all the keys in the source cluster and transfers these keys to the target cluster. This operation does not persist the entry in the cache store.
This is a known issue in JBoss Data Grid 7.1.2, and no workaround exists at this time.
- JDG-840 - Rolling Upgrades from JDG 6.6.0 or ealier migrates all data to a single node
When performing a rolling upgrade from JBoss Data Grid 6.6.0 or before all of the data is migrated to a single node instead of being distributed across the cache.
This is a known issue in JBoss Data Grid 7.1.2, and no workaround exists at this time.
- JDG-831 - Rolling Upgrade from 6.1 to 7 not working
When attempting to synchronize data during a rolling upgrade the following error is thrown:
[standalone@localhost:10990 /] /subsystem=datagrid-infinispan/cache-container=clustered/replicated-cache=sample-cache:synchronize-data(migrator-name=hotrod) { "outcome" => "failed", "failure-description" => "DGISPN0118: Failed to invoke operation: java.lang.ClassNotFoundException: org.infinispan.util.ByteArrayKey from [Module \"org.infinispan.persistence.remote:main\" from local module loader @42f30e0a (finder: local module finder @24273305 (roots: /opt/jboss-datagrid-7.0.0-server/modules,/opt/jboss-datagrid-7.0.0-server/modules/system/layers/base))]", "rolled-back" => true }
This is a known issue in JBoss Data Grid 7.1.2, and no workaround exists at this time.
- JDG-869 - Deploying a task requires server reload
After deploying a task to the server any attempts to call this task result in an
Unknown task 'localScript_throwingException'
error.After restarting or reloading the server the task executes without issue.
This is a known issue in JBoss Data Grid 7.1.2, and no workaround exists at this time.
- JDG-823 - JPA cache store in weblogic and Postgresql 9.3 produces error
Any attempts to use the JPA cache store with weblogic and Postgresql 9.3 results in a
NoSuchMethodError
:java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index; [java] at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:1100) [java] at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:772) [java] at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245) [java] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222) [java] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265) [java] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:847) [java] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:874) [java] at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:135) [java] at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:50) [java] at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:461) [java] at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:454) [...]
This is a known issue in JBoss Data Grid 7.1.2, and no workaround exists at this time.
- JDG-1533 - Hotrod-endpoint-js wrong npm version
In the JBoss Data Grid hotrod-endpoint-js quickstart, the following error could be generated due to the wrong version of infinispan being referenced in
hotrod-endpoint-js/package.json
:npm ERR! Error: version not found: 0.3.2-Final-redhat-1 : infinispan/0.3.2-Final-redhat-1
This is a known issue in JBoss Data Grid 7.1.2, and to workaround this issue, in
package.json
, change0.3.2
to0.3.1
. It should look like the following:"infinispan": "0.3.1-Final-redhat-1"
Then, from the root of the hotrod-endpoint-js quickstart run the following command:
npm install path/to/nodejsclient/infinispan-0.3.1-Final-redhat-1.tgz
Chapter 7. Resolved Issues
7.1. Resolved Issues
- JDG-1364 - IndexedField annotation in proto file causes java.lang.NumberFormatException
When using
@IndexedField(index=true)
, a Java exception could be generated.This issue is resolved as of JBoss Data Grid 7.1.2.
- JDG-1390 - ProtoSchemaGenerator fails in Karaf: CNFE: org.infinispan.protostream.RawProtobufMarshaller
JBoss Data Grid previously included Protostream 4.1.1, which would not work with Apache Karaf. Protostream has been upgraded to 4.1.3.
This issue is resolved as of JBoss Data Grid 7.1.2.
- JDG-1396 - CVE-2014-9970 jasypt: Vulnerable to timing attack against the password hash comparison [jdg-7.1.0]
A vulnerability was found in Jasypt that would allow an attacker to perform a timing attack on password hash comparison. Jasypt has been removed.
This issue is resolved as of JBoss Data Grid 7.1.2.
- JDG-1409 - CVE-2017-7525 jackson-databind: Deserialization vulnerability via readValue method of ObjectMapper [jdg-7.1.0]
A deserialization flaw in jackson-databind was found allowing code execution when given maliocusly crafted input to readValue method of ObjectMapper. jackson-databind has been removed.
This issue is resolved as of JBoss Data Grid 7.1.2.
- JDG-1410 - CVE-2017-15089 infinispan-core: infinispan: Unsafe deserialization of malicious object injected into data cache [jdg-7.1.0]
A vulnerability in Infinispan was found which allowed malicious users to inject malicious serialized objects into the server’s data cache and potentially execute arbitrary code on another user’s computer when the malicious data was fetched using the hot rod protocol.
This issue is resolved as of JBoss Data Grid 7.1.2.
- JDG-1432 - RESTEASY002115: Attempting to register unassignable contract for org.infinispan.rest.logging.RestAccessLoggingHandler warning is generated on startup
When the server was started the above warning message could be generated. This was caused by RESTEasy performing a class check while registering resources when classes didn’t match.
This issue is resolved as of JBoss Data Grid 7.1.2.