第 7 章 已知问题


本节论述了 AMQ Broker 7.12 中已知的问题。

  • ENTMQBR-9103 - 在关闭多个使用 AMQP 的线程时,NullPointerException

    当为 AMQP 信息运行多线程消费者时,代理有时会生成 WARN 级别日志消息,如下所示:

    2024-05-13 18:11:46,048 WARN [io.netty.util.concurrent.AbstractEventExecutor] 一个任务引发异常。任务: org.apache.activemq.artemis.protocol.amqp.proton.AMQPLargeMessageWriter$$Lambda$643/0x00007fa4ff5153c0@33bff98e java.lang.NullPointerException: null

    当客户端完成使用消息且有时由堆栈追踪附带时,会生成消息。

    没有信息会丢失,消息可以被忽略。

  • ENTMQBR-8106 - 在更改 CR 中的 MessageMigration 后 AMQ Broker Drainer pod 无法正常工作

    您无法更改正在运行的代理部署中 messageMigration 属性的值。要临时解决这个问题,您必须在新的 ActiveMQ Artemis CR 中为 messageMigration 属性设置所需的值,并创建新的代理部署。

  • ENTMQBR-8166 - 带有 UseClientAuth=true 的自签名证书可防止与 Jolokia 的 Operator 通信

    如果在 ActiveMQ Artemis CR 的 console 部分中将 useClientAuth 属性设置为 true,Operator 无法在代理上配置某些功能,如创建地址。在 Operator 日志中,您会看到以 remote error: tls: bad certificate 结尾的错误消息。

  • ENTMQBR-7359 - 更改为当前使用 7.10.0 Operator 的凭证 secret 处理

    Operator 存储管理员用户名和密码,用于在 secret 中连接到代理。默认 secret 名称格式为 < custom-resource-name>-credentials-secret。您可以手动创建 secret,或允许 Operator 创建 secret。

    如果在 7.10.0 之前的自定义资源中配置了 adminUseradminPassword 属性,Operator 会使用这些属性的值更新手动创建的 secret。从 7.10.0 开始,Operator 不再更新手动创建的 secret。因此,如果您更改了 CR 中的 adminUseradminPassword 属性的值,则必须:

    • 使用新用户名和密码更新 secret
    • 删除 secret 并允许 Operator 创建 secret。当 Operator 创建 secret 时,如果在 CR 中指定它们,它会添加 adminUseradminPassword 属性的值。如果这些属性不在 CR 中,Operator 会为 secret 生成随机凭证。
  • ENTMQBR-7111 - 7.10 版本的 Operator 通常会在升级过程中删除 StatefulSet

    如果您要升级到 AMQ Broker Operator 7.10.0,新的 Operator 会在协调过程中自动删除每个部署的现有 StatefulSet。当 Operator 删除 StatefulSet 时,现有代理 pod 会被删除,这会导致临时代理中断。

    您可以运行以下命令来手动删除 StatefulSet,并在 Operator 被删除 StatefulSet: oc delete statefulset <statefulset-name> --cascade=orphan 前删除正在运行的 pod: oc delete statefulset < statefulset-name> --cascade=orphan

    在升级过程中手动删除 StatefulSet,新 Operator 可以在不删除正在运行的 pod 的情况下协调 StatefulSet。如需更多信息,请参阅在 OpenShift 上部署 AMQ Broker 中的使用 OperatorHub 升级 Operator

  • ENTMQBR-5749 - 删除 OperatorHub 中可见的不受支持的 operator

    仅支持 从 OperatorHub 部署 Operator 中提到的 Operator 和 Operator 频道。出于与 Operator 出版物相关的技术原因,其他 Operator 和频道在 OperatorHub 中可见,应该会被忽略。为了便于参考,以下列表显示了哪些 Operator 可见,但不支持:

    • Red Hat Integration - AMQ Broker LTS - 所有频道
    • Red Hat Integration - AMQ Broker - alpha、current 和 current-76
  • ENTMQBR-4140 - AMQ Broker Operator:如果 storage.size 被不正确的指定,则安装将不可用

    如果您配置自定义资源(CR)实例的 storage.size 属性,以指定部署持久性存储中的代理所需的持久性卷声明(PVC)大小,如果没有正确指定这个值,Operator 安装将不可用。例如,假设您将 storage.size 的值设置为 1 ( 即,没有指定单元)。在这种情况下,Operator 无法使用 CR 创建代理部署。另外,即使您删除 CR 并使用正确指定 storage.size 部署新版本,Operator 仍无法使用此 CR 创建部署。

    要临时解决这个问题,首先停止 Operator。在 OpenShift Container Platform Web 控制台中,单击 Deployments。对于与 AMQ Broker Operator 对应的 Pod,点 More options 菜单(三个垂直点)。单击 Edit Pod Count,并将值设为 0。当 Operator Pod 停止后,使用 storage.size 创建 CR 的新版本。然后,要重启 Operator,请再次点 Edit Pod Count,并将值设为 1

  • ENTMQBR-4141 - AMQ Broker Operator:增加持久性卷大小需要在重新创建状态集后手动参与

    如果您试图增加部署持久性存储中的代理所需的持久性卷声明(PVC)的大小,则更改不会生效,而无需进一步手动步骤。例如,假设您配置自定义资源(CR)实例的 storage.size 属性,以指定 PVC 的初始大小。如果您修改了 CR 来指定 storage.size 的不同值,现有代理将继续使用原始 PVC 大小。即使将部署缩减为零个代理,也会发生这种情况,然后备份到原始数字。但是,如果您扩展部署的大小以添加额外的代理,则新代理将使用新的 PVC 大小。

    要临时解决这个问题,并确保部署中的所有代理都使用相同的 PVC 大小,使用 OpenShift Container Platform Web 控制台扩展部署使用的 PVC 大小。在控制台中,单击 Storage Persistent Volume Claims。点您的部署。在右上角的 Actions 下拉菜单中,选择 Expand PVC 并输入新值。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.