MDVA-31590:无法使用MySQL异步队列批量更新属性
最近更新: 2025年6月19日
- 主题:
- 属性
创建对象:
- 有经验的
- 管理员
MDVA-31590修补程序解决了用户无法使用MySQL异步队列批量更新属性的问题。 安装Quality Patches Tool (QPT) 1.1.3时,此修补程序可用。 修补程序ID为MDVA-31590。 请注意,Adobe Commerce 2.4.2中已修复此问题。
受影响的产品和版本
为Adobe Commerce版本创建了修补程序:
- Adobe Commerce(所有部署方法) 2.4.0
与Adobe Commerce版本兼容:
- Adobe Commerce(所有部署方法) 2.4.0-2.4.1-p1
该修补程序可能适用于具有新的Quality Patches Tool版本的其他版本。 要检查修补程序是否与您的Adobe Commerce版本兼容,请将
magento/quality-patches
包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。问题
用户无法使用MySQL异步批量更新属性。
重现步骤:
- 在后端的产品网格上,执行批量操作以更新几个产品的属性值。
- 检查产品并从“操作”下拉列表中选择 更新属性。
- 设置所需属性的值并将产品分配给网站并保存。
- 重新加载页面后,它将显示如下消息:
任务“更新N个选定产品的属性”:已计划更新1个项目。 - 等待几秒钟,然后重新加载后端页面。
预期的结果:
- 页面显示已成功更新的消息,例如: 1个项目已成功更新。
- 相关产品的属性值已更新。
- 在DB中,新记录同时在
magento_bulk
表和magento_operation
表中创建(与批量相关的操作)。 - 在
queue_message
表中创建了新记录(与队列product_action_attribute.update
和/或product_action_attribute.website.update
相关)。 queue_message_status
表具有状态为“4”的记录。system.log
中没有错误。
实际结果:
-
该页面仍会显示如下消息:
任务“更新N个选定产品的属性”:已计划更新1个项目。 -
产品的属性值会更新。
-
已在
message_bulk
表中创建新记录,但magento_operation
表中没有相关记录。 -
在
queue_message
和queue_message_status
表中创建了新记录。 -
queue_message_status
表具有错误状态的记录(状态值“6”)。 -
system.log
包含类似于以下内容的错误:*main.CRITICAL: Message has been rejected: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'operation_key' cannot be null, query was: INSERT INTO {{magento_operation}} ({{id}}, {{bulk_uuid}}, {{topic_name}}, {{serialized_data}}, {{result_serialized_data}}, {{status}}, {{error_code}}, {{result_message}}, {{operation_key}}) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) [] []*
应用修补程序
要应用单独的修补程序,请根据您的部署方法使用以下链接:
- Adobe Commerce或Magento Open Source内部部署: Quality Patches Tool指南中的Quality Patches Tool >使用情况。
- 云基础架构上的Adobe Commerce:云基础架构上的Commerce指南中的升级和修补程序>应用修补程序。
相关阅读
要了解有关Quality Patches Tool的更多信息,请参阅:
- 已发布质量修补程序工具:支持知识库中用于自助提供质量修补程序的新工具。
- 使用Quality Patches Tool指南中的Quality Patches Tool,检查修补程序是否可用于Adobe Commerce问题。
有关QPT中其他可用修补程序的信息,请参阅QPT🔗中可用的修补程序部分。
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3