第 1 章 Data Grid 8 升级备注
在从一个 Data Grid 8 升级到另一个版本前,请查看本节中的详情。
1.1. 升级到 Data Grid 8.5
阅读以下信息,以确保从之前版本的 Data Grid 8 升级到 8.5。
删除
- Kryo 和 Protostuff marshallers 已删除。
- 已删除了扩展统计模块。
- JCACHE CDI 不再被支持。
- 不再支持 Spring 5.x 和 Spring Boot 2.x。
- 不再提供 Red Hat JBoss EAP 模块。
更改类的软件包
以下类已移到不同的软件包中:
-
org.infinispan.util.TimeoutException
已移到org.infinispan.commons.TimeoutException
-
org.infinispan.util.concurrent.IsolationLevel
已移到org.infinispan.configuration.IsolationLevel
删除类、方法和属性
以下方法和属性已被删除:
- All :使用 schema < 10.0 的配置文件。
-
commons:
Start.priority
和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 ()
和TopologyChangedEvent.getConsistentHashAtEnd ()
-
core:
Transport.invokeRemotely ()
Transport.waitForView ()
Transport.backupRemotely ()
AbstractTransport
-
Core:
ValueMatcher.nonExistentEntryCanMatch
-
core:
WriteCommand.updateStatusFromRemoteResponse
- core: state transfer pool
-
计数器:
syncStrongCounter
和SyncWeakCounter
-
热随机客户端:
org.infinispan.client.hotrod.marshall.ProtoStreamMarshaller
- 服务器和客户端:密钥存储证书密码
- RocksDB Store: 到期队列大小
- Remote Store: transport factory 和 maxIdle
指标
当 name- as-tags
设为 true
时,JGroups 和跨站点指标名称会改变,其中集群名称和站点的名称不再存在于指标名称中,而是作为标签。
例如,当您将 name -as-tags
设置为 false
时,指标会根据频道命名,从而导致同一目的有多个指标:
# 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
当您将 name -as-tags
设置为 true
时,指标会被简化,集群和站点名称会显示为标签:
# 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
在 Java Development Kit (JDK) 17 中删除 SecurityManager 时,不再支持与 SecurityManager 集成。
jakarta 和 Java EE
-
Data Grid 已更新为只使用
jakarta Referrer
软件包。 -
如果您需要旧的
javax …
软件包,则应使用 Data Grid 8.4.x。 -
transitional
*-jakarta
jars (包括jakarta jakarta
和javax
xz 软件包)已被删除。
热 Rod 客户端默认设置
Data Grid 引入了对 Hot Rod 客户端属性的更改。
ssl_hostname_validation
添加了新属性 ssl_hostname_validation
,默认值为 true
。此属性启用基于 RFC 2818 的 TLS 主机名验证。
另外,在启用主机名验证时,需要设置 sni_host_name
。
属性 | Data Grid 8.5 | 之前的版本 |
---|---|---|
| 2000 ms / 2 秒 | 60000 ms / 60 秒 |
| 2000 ms / 2 秒 | 60000 ms / 60 秒 |
| 3 | 10 |
| 180000 ms / 3 分钟 | 1800000 ms / 30 分钟 |
| SCRAM-SHA-512 | SCRAM-SHA-256 |
搜索
Data Grid 8.5 引入了对搜索的以下更改。
索引
-
property
属性已被删除。 -
auto-config
属性已被删除。 -
index
属性已被删除。
索引注解
- Hibernate Search 5 注解不再被支持。
-
@ProtoDoc
注解现已弃用。
安全性
PrincipalRoleMapper
现在只适用于组,而不是组和用户主体。使用 cache-manager.security.authorization.group-only-mapping=false
配置使用旧行为。
有关 PrincipalRoleMapper
API 的更多信息,请参阅 角色和权限映射程序。
分散的缓存删除
scattered 缓存模式已被删除。改为使用分布式缓存。有关缓存模式的详情,请参考 缓存模式。
全局状态
默认情况下,如果在持久全局状态下找到悬停的锁定文件,则 Data Grid 将不会启动,表示未清理的关闭。您可以通过配置全局状态 unclean-shutdown-action
设置来更改默认行为。如需更多信息,请参阅 全局永久位置。
持久性
availability-interval
的默认值增加到 30 秒。以上默认为 1 秒。
soft-index 文件存储
要计算片段数量,只有缓存片段的数量而不是使用索引片段配置,就像之前完成的一样。
RESP 端点
Data Grid 8.5 对 RESP 端点包括以下更改:
-
RESP 端点缓存现在要求关键存储介质类型为
application/octet-stream
。 - 您可以将默认过期时间应用到 RESP 端点使用的缓存配置。
客户端监听程序删除事件传播
要在 CacheEventConverter
上支持新的 includeOldValue
方法更改,客户端监听程序删除事件现在也会传播,即使事件没有删除值。
删除事件默认不包含任何值
NearCache SPI 更新
前面的 NearCache SPI 在并发更新中存在一个问题,其中过时的条目可能存储在接近的缓存中。NearCache SPI 已更新,以解决此问题。
至少从 8.1 升级
如果要从 8.0 升级,您必须首先升级到 8.1。Data Grid 8.0 中的持久数据与以后的版本不兼容二进制数据。要解决这种不兼容的问题,Data Grid 8.2 及更新的版本会在集群启动时自动转换来自 Data Grid 8.1 的现有持久性缓存存储。但是,Data Grid 不会从 Data Grid 8.0 转换缓存存储。