Chapter 1. Data Grid 8 upgrade notes


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

1.1. Upgrading to Data Grid 8.5

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

Removals

  • The Kryo and Protostuff marshallers have been removed.
  • Extended statistics module has been removed.
  • JCache CDI is no longer supported.
  • Spring 5.x and Spring Boot 2.x are no longer supported.
  • Red Hat JBoss EAP modules are no longer provided.

Change of package for classes

The following classes have been moved to different packages:

  • org.infinispan.util.TimeoutException has been moved to org.infinispan.commons.TimeoutException
  • org.infinispan.util.concurrent.IsolationLevel has been moved to org.infinispan.configuration.IsolationLevel

Classes, methods, and properties removal

The following methods and properties have been removed:

  • All: Parsing of configuration files with schema < 10.0
  • Commons: Start.priority and Stop.priority
  • Core: AdvancedCache.with(ClassLoader), AdvancedCache.getEvictionManager(), AdvancedCache.getAsyncInterceptorChain(), AdvancedCache.getComponentRegistry()
  • Core: AnyScopeComponentFactory.construct(Class)
  • Core: Cache.getListeners()
  • Core: ConfigurationBuilder.classLoader(), ConfigurationBuilder.customInterceptors()
  • Core: DataRehashedEvent.getUnionConsistentHash()
  • Core: EmbeddedCacheManager.getListeners(), EmbeddedCacheManager.getTransport(), EmbeddedCacheManager.removeCache(String), EmbeddedCacheManager.getGlobalComponentRegistry()
  • Core: FlagAffectedCommand.setFlags, FlagAffedctedCommand.addFlags, FlagAffectedCommand.hasFlag
  • Core: IntCacheStream.filterKeySegments(Set<Integer>)
  • Core: JMXStatisticsConfiguration
  • Core: GlobalConfiguration.DEFAULT_MARSHALL_VERSION
  • Core; LocalizedCacheTopology.getDistributionForSegment(int)
  • Core: NamedComponentFactory
  • Core: PersistenceUtil.loadAndStoreInDataContainer
  • Core: TopologyChangedEvent.getConsistentHashAtStart() and TopologyChangedEvent.getConsistentHashAtEnd()
  • Core: Transport.invokeRemotely() Transport.waitForView() Transport.backupRemotely() AbstractTransport
  • Core: ValueMatcher.nonExistentEntryCanMatch
  • Core: WriteCommand.updateStatusFromRemoteResponse
  • Core: state transfer pool
  • Counters: SyncStrongCounter and SyncWeakCounter
  • Hot Rod client: org.infinispan.client.hotrod.marshall.ProtoStreamMarshaller
  • Server and clients: keystore certificate password
  • RocksDB Store: expiry queue size
  • Remote Store: transport factory and maxIdle

Metrics

The JGroups and cross-site metrics names change when names-as-tags is set to true, where the cluster’s name and the site’s name are no longer present in the metrics name but as a tag.

As an example, when you set names-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 names-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

SecurityManager

Aligning with the deprecation for removal of the SecurityManager in Java Development Kit (JDK) 17, integration with a SecurityManager is no longer supported.

Jakarta and Java EE

  • Data Grid has been updated to use jakarta.* packages only.
  • If you require the legacy javax.* packages, you should use Data Grid 8.4.x.
  • The transitional *-jakarta jars, which included both jakarta.* and javax.* packages, have been removed.

Hot Rod client defaults

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

ssl_hostname_validation

A new property, ssl_hostname_validation with a default value of true has been added. This property enables TLS hostname validation based on RFC 2818.

Additionally, setting the sni_host_name is now required when hostname validation is enabled.

Table 1.1. Default property changes
PropertyData Grid 8.5Previous versions

connect_timeout

2000 ms / 2 seconds

60000 ms / 60 seconds

socket_timeout

2000 ms / 2 seconds

60000 ms / 60 seconds

max_retries

3

10

min_evictable_idle_time

180000 ms / 3 minutes

1800000 ms / 30 minutes

sasl_mechanism

SCRAM-SHA-512

SCRAM-SHA-256

Data Grid 8.5 introduces the following changes to search.

Indexing
  • The property attribute has been removed.
  • The auto-config attribute has been removed.
  • The index attribute has been removed.
Indexing annotations
  • The Hibernate Search 5 annotations are no longer supported.
  • @ProtoDoc annotation is now deprecated.

Security

The PrincipalRoleMapper now applies only to groups instead of both groups and user principals. Use the cache-manager.security.authorization.group-only-mapping=false configuration to use the old behavior.

For more information about the PrincipalRoleMapper API, see Role and permission mappers.

Scattered cache removal

The scattered cache mode has been removed. Use distributed caches instead. For information about cache modes, see Cache modes.

Global State

By default, Data Grid will not start if a dangling lock file is found in the persistent global state indicating an unclean shutdown. You can change the default behavior by configuring the global state unclean-shutdown-action setting. For more information, see Global persistent location.

Persistence

The default value for availability-interval has been increased to 30 seconds. The previous default was 1 second.

Soft-index file stores

To calculate the number of segments, only the number of cache segments is used instead of using index segment configuration, as was done earlier.

RESP endpoint

Data Grid 8.5 introduces the following changes to the RESP endpoint:

  • The RESP endpoint cache now requires the key storage media type to be application/octet-stream.
  • You can apply default expiration to the cache configuration used by the RESP endpoint.

Client listeners remove events propagation

To support the changes around the new includeOldValue method on CacheEventConverter, client listeners remove events will now be propagated even if the event does not remove a value.

Note

Remove events do not include any values by default

NearCache SPI update

The previous NearCache SPI had an issue with concurrent updates wherein a stale entry could get stored in the near cache. NearCache SPI has been updated to address this issue.

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.