MDVA-31590: No se pueden actualizar atributos por lotes mediante colas asíncronas de MySQL

El parche MDVA-31590 resuelve el problema en el que los usuarios no pueden actualizar los atributos de forma masiva mediante colas asincrónicas de MySQL. Este parche está disponible cuando está instalada la Herramienta de parches de calidad (QPT) 1.1.3. El ID del parche es MDVA-31590. Tenga en cuenta que el problema se solucionó en Adobe Commerce 2.4.2.

Productos y versiones afectados

El parche se ha creado para la versión de Adobe Commerce:

  • Adobe Commerce (todos los métodos de implementación) 2.4.0

Compatible con versiones de Adobe Commerce:

  • Adobe Commerce (todos los métodos de implementación) 2.4.0-2.4.1-p1
NOTE
El parche podría ser aplicable a otras versiones con las nuevas versiones de la herramienta Parches de Calidad. Para comprobar si el parche es compatible con su versión de Adobe Commerce, actualice el paquete magento/quality-patches a la última versión y compruebe la compatibilidad en la página Quality Patches Tool: buscar parches. Utilice el ID de parche como palabra clave de búsqueda para localizar el parche.

Problema

Los usuarios no pueden actualizar los atributos de forma masiva mediante MySQL asincrónico.

Pasos a seguir:

  1. En la cuadrícula de productos del servidor, realice una acción masiva para actualizar los valores de atributo de algunos productos.
    • Compruebe los productos y seleccione Actualizar atributos en la lista desplegable Acciones.
  2. Establezca valores para los atributos necesarios, asigne productos a sitios web y guárdelos.
  3. Una vez que la página se vuelve a cargar, muestra un mensaje como el siguiente:
    Tarea "Actualizar atributos para N productos seleccionados": 1 artículo(s) se ha(n) programado para una actualización.
  4. Espere unos segundos y vuelva a cargar la página back-end.

Resultados esperados:

  1. La página muestra un mensaje de actualización correcto como: 1 elemento(s) se ha(n) actualizado(s) correctamente.
  2. Se actualizan los valores de atributo de los productos relacionados.
  3. En la base de datos, se crean nuevos registros tanto en la tabla magento_bulk como en la tabla magento_operation (operaciones relacionadas con la carga masiva).
  4. Se crean nuevos registros en la tabla queue_message (relacionados con las colas product_action_attribute.update o product_action_attribute.website.update).
  5. La tabla queue_message_status tiene registros con el estado "4".
  6. NO hay errores en system.log.

Resultados reales:

  1. La página sigue mostrando un mensaje como el siguiente:
    Tarea "Actualizar atributos para N productos seleccionados": 1 artículo(s) se ha(n) programado para una actualización.
  2. Se actualizan los valores de atributo de los productos.
  3. Se crea un nuevo registro en la tabla message_bulk, pero no hay ningún registro relacionado en la tabla magento_operation.
  4. Se crean registros nuevos en queue_message y queue_message_status tablas.
  5. La tabla queue_message_status tiene un registro con estado de error (valor de estado "6").
  6. system.log contiene un error similar al siguiente:
    main.CRITICAL: se rechazó el mensaje: SQLSTATE[23000]: Infracción de restricción de integridad: 1048 La columna 'operation_key' no puede ser nula, la consulta era: INSERT INTO {{magento_operation}} ({{id}}, {{bulk_uuid}}, {{topic_name}}, {{serialized_data}}, {{result_serialized_data}}, {{status}}, {{error_code}}, {{result_message}}, {{operation_key}}) VALUES (?, ?, ?, ?, ?, ?, ?, ?) [][]

Aplicar el parche

Para aplicar parches individuales, utilice los siguientes vínculos según el método de implementación:

Lectura relacionada

Para obtener más información sobre la herramienta Parches de calidad, consulte:

Para obtener información sobre otros parches disponibles en QPT, consulte la sección Parches disponibles en QPT.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a