第 3 章 已知问题和修复问题
了解 Data Grid 中已知的问题,并找出哪些问题已被解决。
3.1. Data Grid 的已知问题 复制链接链接已复制到粘贴板!
对于影响 Red Hat OpenShift 上运行的 Data Grid 集群的问题,您应该参考 Data Grid Operator 8.2 发行注记。
Red Hat JBoss EAP (EAP)的数据网格模块缺少依赖项
问题: JDG-5104
描述 : EAP 7.4 的 Data Grid 模块不包括所有必需的 Hibernate 工件。此外,EAP 7.4 删除了 Data Grid 所需的 Eclipse MicroProfile 和 SmallRye 模块。
临时解决方案: 请执行以下操作:
- 下载 Data Grid Server 发行版。
-
打开终端窗口并导航到
$RHDG_HOME/server/lib目录。 找到以下 Hibernate JAR 文件:
-
hibernate-search-backend-lucene-6.0.2.Final-redhat-00002.jar -
hibernate-commons-annotations-5.0.5.Final-redhat-00002.jar
-
将 JAR 文件复制到 Data Grid 模块安装的以下目录中:
modules/system/add-ons/rhdg/org/infinispan/rhdg-8.2/-
打开
/modules/system/add-ons/rhdg/org/infinispan/rhdg-8.2/module.xml进行编辑。 在以下模块中添加
optional="true"属性:<module name="org.eclipse.microprofile.config.api" export="true" optional="true"/> <module name="org.eclipse.microprofile.metrics.api" export="true" optional="true"/> <module name="io.smallrye.config" services="export" export="true" optional="true"/> <module name="io.smallrye.metrics" services="import" export="true" optional="true"/>
当 putAll () 操作写入具有 optimistic locking 的过期条目时,会出现死锁
问题: JDG-5087
Description: 使用 optimistic locking 的事务缓存,删除过期条目的命令,即使写入操作触发了过期条目。在某些情况下,当将 All () 操作写入过期条目时,此行为可能会导致死锁。
临时解决方案: 这个问题还没有临时解决方案。
当处理带有 putAll () 或 getAll () 操作的过期条目时,数据竞争发生
问题: JDG-5028
描述 : 当 putAll () 或 getAll () 操作会影响两个或多个条目时,这两个条目都可以过期。如果这两个条目的密钥都映射到同一 HashMap 存储桶,则其中一个更新可能会丢失,Data Grid 会抛出以下异常:
IllegalStateException: Entry should be always wrapped!
临时解决方案: 这个问题还没有临时解决方案。
客户端无法连接到使用 TLS/SSL 加密的远程缓存
问题: JDG-4763
描述 : 客户端无法连接到远程缓存,Data Grid 日志会显示与 TLS/SSL 相关的 WARN 日志消息。
此问题源自于 Data Grid 中包含的 WildFly OpenSSL 库。有关日志消息的完整详情,请参阅以下红帽知识库文章: 客户端在升级到 RHDG 8.2.1 后无法连接服务器。
临时解决方案: 启动带有以下属性的 Data Grid 服务器以使用 Java TLS/SSL 库而不是 OpenSSL:
-Dorg.infinispan.openssl=false
Red Hat JBoss Web Server 到 Data Grid 8.2 的会话外部化提供了 7.3.8 或 8.1.1 版本的 Tomcat 会话客户端
问题: JDG-4599
描述 : Data Grid 8.2 还没有包含 Tomcat 会话客户端,该客户端将在 EAP 7.4 GA 后可用。
临时解决方案: 使用 Data Grid Server 8.2 和带有以下配置的 Tomcat 会话客户端的 Data Grid 7.3.8 或 8.1.1 版本:
<Manager className="org.wildfly.clustering.tomcat.hotrod.HotRodManager"
configurationName="default"
persistenceStrategy="${persistenceStrategy}"
server_list="127.0.0.1:11222"
protocol_version="2.9"
auth_realm="default"
sasl_mechanism="DIGEST-MD5"
auth_server_name="infinispan"
auth_username="admin"
auth_password="changeme"/>
使用 Java 8 的热 Rod 客户端需要升级以避免 SSLHandshakeException
问题: JDG-4279
描述 : 如果您的 Java 版本不是 8u252,则使用带有 Hot Rod 客户端的 JDK 8 会产生以下致命异常:
SSLHandshakeException: Remote host closed connection during handshake at sun.security.ssl.SSLSocketImpl
临时解决方案: 确保您至少使用 Java 8u252。这个版本包括应用程序协议协商(ALPN)所需的安全功能。
数据网格解析性能
问题: JDG-3636
描述 : 在一些测试案例中,Data Grid 分区处理功能所需的时间比预期要长于执行冲突解析。
临时解决方案: 这个问题还没有临时解决方案。
Data Grid Does Not Passivate JWS Sessionsectly
问题: JDG-2796
描述 : 当从 JBoss Web 服务器(JWS)外部会话时,如果使用 FINE 持久性策略,会话无法正确传递。
临时解决方案: 这个问题还没有临时解决方案。