QUALITY PATCH

ACSD-48216: AUTO_INCREMENT of the inventory_source_item table increases on the UPDATE operation

AUTO_INCREMENT of the inventory_source_item table increases on the UPDATE operation. Quality patch ACSD-48216 for magento/module-inventory applies to Magento Open Source and Adobe Commerce 2.3.7 to 2.4.6-p15.

Categories
Inventory
Components
magento/module-inventory
Origin
adobe-commerce-support
Since QPT
1.1.27

Issue

AUTO_INCREMENT of the inventory_source_item table increases on the UPDATE operation.

Steps to reproduce

1. Check the current value of AUTO_INCREMENT of the inventory_source_item table: MySQL > show create table inventory_source_item; CREATE TABLE inventory_source_item ( source_item_id int(10) unsigned NOT NULL AUTO_INCREMENT, source_code varchar(255) NOT NULL, sku varchar(64) NOT NULL, quantity decimal(12,4) NOT NULL DEFAULT '0.0000', status smallint(5) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (source_item_id), UNIQUE KEY INVENTORY_SOURCE_ITEM_SOURCE_CODE_SKU (source_code,sku), KEY INVENTORY_SOURCE_ITEM_SKU_SOURCE_CODE_QUANTITY (sku,source_code,quantity), CONSTRAINT INVENTORY_SOURCE_ITEM_SOURCE_CODE_INVENTORY_SOURCE_SOURCE_CODE FOREIGN KEY (source_code) REFERENCES inventory_source (source_code) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=2048 DEFAULT CHARSET=utf8 1. Make an API request for a specific product: Endpoint: /rest/V1/inventory/source-items Method: POST Headers: Authorization: Bearer <admin_token> Payload: { "sourceItems": [ { "sku": "24-MB01", "source_code": "default", "quantity": 200, "status": 1 } ] } 1. Check the AUTO_INCREMENT value of the inventory_source_item table again.

Adobe's page lists 2.3.7 - 2.4.6 as compatible; the versions below are resolved from the current QPT constraints and are the ones the tool will offer.

Adobe scheduled the permanent fix for 2.4.7.

Install

Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply ACSD-48216. On Cloud, add ACSD-48216 under stage.build.QUALITY_PATCHES in .magento.env.yaml.

For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its ACSD-48216/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.

Patch files and compatible versions

Packages across compatible versions (1): magento/module-inventory
Packages across compatible versions (1): magento/module-inventory

magento/inventory-composer-metapackage >=1.1.7 <1.1.8

Magento Open Source
2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7
Adobe Commerce
2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7
Patch file
patches/os/ACSD-48216_1.2.4.patch
  • vendor/magento/module-inventory/Model/ResourceModel/SourceItem/SaveMultiple.php

Sources

Łukasz Bajsarowicz
Built by

Łukasz Bajsarowicz, e-commerce architect

Magento and Adobe Commerce architecture, upgrades, performance and audits for merchants and agencies since 2015; magento.watch is the tooling I use on those projects.

Open source, maintained on weekends.