diff --git a/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php b/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php index 7bd347f5245d6..4abfd534f741d 100644 --- a/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php +++ b/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php @@ -152,7 +152,8 @@ public function updateCouponUsages(UpdateInfo $updateInfo): void private function lockLoadedCoupon(Coupon $coupon, UpdateInfo $updateInfo): void { $isIncrement = $updateInfo->isIncrement(); - $lockName = self::LOCK_NAME . $coupon->getCode(); + // Lock name based on coupon id, rather than coupon code that may contain illegal symbols for file based lock + $lockName = self::LOCK_NAME . $coupon->getId(); if ($this->lockManager->lock($lockName, self::LOCK_TIMEOUT)) { try { $coupon = $this->couponRepository->getById($coupon->getId());