MDVA-31590: Unable to update attributes in bulk using MySQL async queues
The MDVA-31590 patch solves the issue where the users are unable to update attributes in bulk using MySQL async queues. This patch is available when the Quality Patches Tool (QPT) 1.1.3 is installed. The patch ID is MDVA-31590. Please note that the issue was fixed in Adobe Commerce 2.4.2.
Affected products and versions
The patch is created for Adobe Commerce version:
- Adobe Commerce (all deployment methods) 2.4.0
Compatible with Adobe Commerce versions:
- Adobe Commerce (all deployment methods) 2.4.0-2.4.1-p1
magento/quality-patches
package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.Issue
Users are not able to update attributes in bulk using MySQL async.
Steps to reproduce:
- On the product grid in the backend, perform a mass action to update attribute values for a few products.
- Check products and select Update Attributes from the Actions dropdown.
- Set values for the required attributes and assign products to websites and save.
- Once the page reloads, it will display a message like the following:
Task “Update attributes for N selected products”: 1 item(s) have been scheduled for an update. - Wait for few seconds and reload the backend page.
Expected results:
- The page displays a successful update message like: 1 item(s) have been successfully updated.
- Attribute values for related products are updated.
- In DB, new records are created in both
magento_bulk
table andmagento_operation
table (operations related to the bulk). - New record(s) are created in the
queue_message
table (related to the queuesproduct_action_attribute.update
and/orproduct_action_attribute.website.update
). queue_message_status
table have records with status “4”.- There are NO errors in
system.log
.
Actual results:
-
The page still displays a message like the following:
Task “Update attributes for N selected products”: 1 item(s) have been scheduled for an update. -
Attribute values for the products are updated.
-
A new record is created in
message_bulk
table, but there is no related record(s) inmagento_operation
table. -
New records are created in
queue_message
andqueue_message_status
tables. -
queue_message_status
table has record with error status (status value “6”). -
system.log
contains error similar to the following:code language-sql *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 (?, ?, ?, ?, ?, ?, ?, ?, ?) [] []*
Apply the patch
To apply individual patches, use the following links depending on your deployment method:
- Adobe Commerce or Magento Open Source on-premises: Quality Patches Tool > Usage in the Quality Patches Tool guide.
- Adobe Commerce on cloud infrastructure: Upgrades and Patches > Apply Patches in the Commerce on Cloud Infrastructure guide.
Related reading
To learn more about Quality Patches Tool, refer to:
- Quality Patches Tool released: a new tool to self-serve quality patches in the support knowledge base.
- Check if patch is available for your Adobe Commerce issue using Quality Patches Tool in the Quality Patches Tool guide.
For info about other patches available in QPT, refer to the Patches available in QPT section.