Show Table of Contents
6.5.0 Release Notes
Red Hat JBoss Data Grid 6.5
Known and resolved issues for Red Hat JBoss Data Grid 6.5.0
Abstract
The Red Hat JBoss Data Grid 6.5 Release Notes list and provide descriptions for a series of bugzilla bugs. The bugs highlights issues that are known problems and resolved issues for the release.
Chapter 1. Introduction to Red Hat JBoss Data Grid 6.5
Welcome to Red Hat JBoss Data Grid 6.5. 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.1. 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.2. Overview
This document contains information about the known and resolved issues of Red Hat JBoss Data Grid version 6.5.0. Customers are requested to read this documentation prior to installing this version.
1.3. Upgrading from JBoss Data Grid 6.4.x to 6.5
1.3.1. Optimizations to the getAll() and putAll() methods
The following methods were introduced in Red Hat JBoss Data Grid 6.5 for the
AdvancedCache and RemoteCache interfaces, and both of these methods have performance increases when sets of data are placed or retrieved versus the similar operations performed sequentially. This allows bulk large sets of data to be retrieved and placed more efficiently. This difference is especially significant in server-client mode and as the number of transferred items increase; however, there is additional memory overhead during the transfer itself as the full set must be loaded into memory.
getAll(Set<? extends K> keys)- Returns a
Mapcontaining the values associated with the set of keys requested. putAll(Map<? extends K, ? extends V> map)- Copies all of the mapping from the specified
Mapto the cache where the operation was performed.
Overloaded versions of these methods exist; documentation on these methods may be found in the Red Hat JBoss Data Grid API Documentation.
1.3.2. Migration tool for JDBC cache store from JDG 6.1 and older versions
A migration tool has been created which converts the data stored in a JDBC store by Red Hat JBoss Data Grid versions 6.0 and 6.1, which used Infinispan 5.2.x, into the format used by versions 6.2 and later, which use Infinispan 6.x.
This tool will function for all JDBC store types:
stringmixedbinary
If any custom marshallers were used these need to be provided on the classpath when the tool is executed, for instance:
java -cp infinispan-jdbc-migrator52x.jar:mycustommarshaller.jar org.infinispan.persistence.migrator.jdbc.JdbcUpgradeTool [property file]
For full usage information view the
README.txt included, as it contains the necessary information for the required properties file along with example commands.
Important
This tool is required only if upgrading from JBoss Data Grid 6.1 or older version. In addition, this tool must be run offline, while neither Red Hat JBoss Data Grid or any other application access the tables.
Chapter 2. New Features and Enhancements
2.1. Remote Events and Listeners
Red Hat JBoss Data Grid (JDG) 6.4 introduced a Technology Preview of Remote Events and Listeners for the Java Hot Rod client. This feature has been enhanced further and is fully supported in JDG 6.5.
2.2. Near caching at Java Hot Rod client
JDG 6.5 features configurable near caching at the Java Hot Rod client for superior read performance. This feature is built on remote events and listeners.
2.3. Enhancements to JBoss Fuse integration
The camel-jbossdatagrid component has been enhanced in JDG 6.5. Enhancements include remote events over Hot Rod and remote querying using the Infinispan Query DSL.
2.4. JSR-107 support
JDG 6.5 adds support for JSR-107 (JCache) API in both Library mode and Client-Server mode (Hot Rod). This feature is based on Infinispan's certification as a JSR-107-compliant caching provider.
2.5. Deployment of custom cache store in Client-server mode
JDG 6.5 adds a supported mechanism to deploy custom cache stores on the JDG Server. This mechanism enables use of custom cache stores behind remote caches in client-server mode.
2.6. .NET Hot Rod client
The .NET Hot Rod client, which was Technology Preview in JDG 6.4, is now fully supported in JDG 6.5 on Microsoft Windows 64-bit operating systems which support .NET 4.
2.7. Red Hat JBoss Data Grid as Lucene Directory
JDG 6.5 is supported as a shared, in-memory index (Infinispan Directory) for Hibernate Search queries on a relational database. The Infinispan Directory integration has been tested with the version of Hibernate Search that is included in Red Hat JBoss Enterprise Application Platform (JBoss EAP) 6.4.
2.8. Externalize HTTP sessions from JBoss EAP 6
JDG 6.5 adds support for externalizing HTTP sessions from the session cache of a JBoss EAP 6 cluster to a remote, standalone JDG cluster, which can potentially reside in a different datacenter. This integration has been tested with JBoss EAP 6.4.
Note
Support for this feature requires entitlements to Red Hat JBoss Data Grid for the standalone JDG cluster.
Chapter 3. Supported Configurations
For supported hardware and software configurations, see the Red Hat JBoss Data Grid Supported Configurations reference on the Customer Portal at https://access.redhat.com/site/articles/115883.
Chapter 4. Component Versions
The full list of component versions used in Red Hat JBoss Data Grid is available at the Customer Portal at https://access.redhat.com/site/articles/488833.
Chapter 5. Known and Resolved Issues
5.1. Known Issues
- BZ-1214604 - Async cache store doesn't clear the table rows while sync store does
- When using an async cache any
cache.clear()calls do not remove data in the table.cache.getKey()returnsnullas expected; however, the table entries are still present.As a workaround for this issue use a synchronous cache store. This issue is expected to be addressed in JDG 7. - BZ-1204813 - JSR-107 Support for cacheResolverFactory annotation property
- JCache annotations provides a way to define a custom
CacheResolverFactory, used to produceCacheResolver; this class's purpose is to decide which cache is used for storing results of annotated methods; however, the support for specifying aCacheResolveris not provided yet.Define a CDI ManagedCacheResolver which will be used instead. - BZ-1158839 - Clustered cache with FileStore (shared=false) is inconsistent after restarting one node if entries are deleted during restart
- In Red Hat JBoss Data Grid, when a node restarts, it does not automatically purge entries from its local cache store. As a result, the Administrator starting the node must change the node configuration manually to set the cache store to be purged when the node is starting. If the configuration is not changed, the cache may be inconsistent (removed entries can appear to be present).This is a known issue in JBoss Data Grid 6.5 and no workaround is currently available for this issue.
- BZ-1114080 - HR client SASL MD5 against LDAP fails
- In Red Hat JBoss Data Grid, the server does not support pass-through MD5 authentication against LDAP. As a result, the Hot Rod client is unable to authenticate to the JBoss Data Grid server via MD5 is the authentication is backed by the LDAP server.This is a known issue in JBoss Data Grid 6.5 and a workaround is to use the PLAIN authentication over end-to-end SSL encryption.
- BZ-1024373 - Default optimistic locking configuration leads to inconsistency
- In Red Hat JBoss Data Grid, transactional caches are configured with optimistic locking by default. Concurrent
replace()calls can return true under contention and transactions might unexpectedly commit.Two concurrent commands,replace(key, A, B)andreplace(key, A, C)may both overwrite the entry. The command which is finalized later wins, overwriting an unexpected value with new value.This is a known issue in JBoss Data Grid 6.5. As a workaround, enable write skew check and theREPEATABLE_READisolation level. This results in concurrent replace operations working as expected. - BZ-1213818 - CustomCacheStore deployed via JON is registered AFTER cache start during server start-up
- In the case when Custom Cache Store .jar file deployment into JDG server is happening via JBoss Operation Network UI (JDG server -> Create Child -> Deployment), the Deployment is registered by the JDG server too late. I.e. after the start of caches. Consequently, caches report error messages if they are configured to use Custom Cache Store implementation.As a workaround, either copy Custom Cache Store .jar file into
$JDG_HOME/standalone/deploymentsfolder or use thedeploycommand in server CLI. - BZ-1200822 - JSR-107 Support for clustered caches in HotRod implementation
- When creating a new cache (which is not defined in server configuration file) in HotRod implementation of JSR-107, the cache is created as
localonly in one of the servers. This behavior requires classorg.jboss.as.controller.client.ModelControllerClientto be present on the classpath.As a workaround use a clustered cache defined in the server configuration file. This still requirescacheManager.createCache(cacheName, configuration)to be invoked before accessing the cache for the first time. - BZ-1223290 - JPA Cache Store not working properly on Weblogic
- A JPA Cache Store deployed to WebLogic servers throws a
NullPointerExceptionafter the following error message:Entity manager factory name (org.infinispan.persistence.jpa) is already registered
This is a known issue in JBoss Data Grid 6.5.0, and no workaround exists at this time. - BZ-1223395 - Operation [Registering Deployed Cache Store service...] happens too late on slower machines
- While using a deployed Custom Cache Store for a particular cache, there is a potential race condition in the JBoss Data Grid server. It is possible that the cache start-up will occur before the Custom Cache Store library registration is successfully finished, resulting in the cache being unable to find the requested resources during the start-up process and failing to start.This is a known issue in JBoss Data Grid 6.5.0, and no workaround exists at this time.
5.2. Resolved Issues
- BZ-1213749 - Camel throwing java.lang.LinkageError for Remote Query when running in EAP
- When the Remote Query feature is used through the
camel-jbossdatagridcomponent in EAP, and JDG modules for EAP are installed, the application throws ajava.lang.LinkageErrorand the Remote Query feature does not work properly.This issue is resolved as of Red Hat JBoss Data Grid 6.5.0. - BZ-1206590 - Nearcache broken after SocketTimeoutException
- When a near cache has not received remote events for some time, for instance if the cluster is inactive or the client does not load new data, the connection to remote JDG servers fails with
java.net.SocketTimeoutException.This issue is resolved as of Red Hat JBoss Data Grid 6.5.0. - BZ-1198267 - Transaction is recommitted by joining node during merge
- When a node which was not part of previous view (e.g. due to network partition) joins a cluster, it may request retransmission of previous messages (JGroup's NAKACK). If some of those messages are prepare commands of transactions which have already finished on other nodes, then transactions can be prepared and committed on the joining node once again. This behavior may lead to inconsistent values across the cluster if the affected entries have been modified on nodes from the original view.This issue is resolved as of Red Hat JBoss Data Grid 6.5.0.
- BZ-1217480 - Camel-jbossdatagrid has a dependency on infinispan-core when only remote cache is in use
- The
camel-jbossdatagridcomponent requires embedded cache dependencies when a remote cache is used. The required dependency isinfinispan-embedded.jaras well as the expectedinfinispan-remote.jar. The same issue exists when using only an embedded cache, as theinfinispan-remote.jardependency is required in this case together with theinfinispan-embedded.jar.This issue is resolved as of Red Hat JBoss Data Grid 6.5.0. - BZ-1198971 - JSR-107 Make sure HotRod implementation passes all TCK tests
- Passing TCK test suite is an ultimate criterion of complying with the JCache specification. Some of the tests are still not passing with HotRod implementation (i.e. functionality is not provided yet).These relate to JMX statistics, expiration and listeners, where correct functioning currently cannot be guaranteed.This issue is resolved as of Red Hat JBoss Data Grid 6.5.0.
- BZ-1210313 - JDG Maven dependencies require EAP maven repo
- A new Maven repository,
jboss-datagrid-$RELEASE-maven-repository-full.ziphas been provided as a zip file; however, this repository is missing required dependencies.This issue is resolved as of Red Hat JBoss Data Grid 6.5.0. - BZ-1217380 - Deadlock on GlobalComponentRegistry when starting a cluster
- When starting a cluster with multiple nodes concurrently, a deadlock on GlobalComponentRegistry sporadically occurs which will prevent the nodes from starting completely.This issue is resolved as of Red Hat JBoss Data Grid 6.5.0.
- BZ-1224770 - Error being logged even if Backup Failure policy is set to IGNORE
- When datacenter replication is configured and the backup node is down messages similar to the following are seen in the log:
11:50:37,455 ERROR [org.jgroups.protocols.relay.RELAY2] (OOB-15,shared=udp) node-1/PRIMARY: no route to DR: dropping message
However, these error messages are logged even with failure-policy set toIGNORE.These messages indicate that the cluster can not communicate with the backup node, and do not represent immediate issues with the cluster itself.The Backup Failure policy is now honored as of Red Hat JBoss Data Grid 6.5.0; to resolve this issue ensure that the remote backup is online and there are no communication errors.
Appendix A. Revision History
| Revision History | |||
|---|---|---|---|
| Revision 6.5.0-1 | Tue 16 June 2015 | ||
| |||
| Revision 6.5.0-0 | Thu 15 Jan 2015 | ||
|
| |||
Legal Notice
Copyright © 2015 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
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, 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 Software Collections 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.
