diff -Nuar a/vendor/magento/framework/Lock/Backend/Database.php b/vendor/magento/framework/Lock/Backend/Database.php index a5a76ba60f4..aa872f9166b 100644 --- a/vendor/magento/framework/Lock/Backend/Database.php +++ b/vendor/magento/framework/Lock/Backend/Database.php @@ -11,8 +11,8 @@ use Magento\Framework\App\DeploymentConfig; use Magento\Framework\App\ResourceConnection; use Magento\Framework\Config\ConfigOptionsListConstants; use Magento\Framework\Exception\AlreadyExistsException; -use Magento\Framework\Exception\InputException; use Magento\Framework\Phrase; +use Magento\Framework\DB\ExpressionConverter; /** * Implementation of the lock manager on the basis of MySQL. @@ -68,7 +68,6 @@ class Database implements \Magento\Framework\Lock\LockManagerInterface * @param string $name lock name * @param int $timeout How long to wait lock acquisition in seconds, negative value means infinite timeout * @return bool - * @throws InputException * @throws AlreadyExistsException * @throws \Zend_Db_Statement_Exception */ @@ -110,7 +109,6 @@ class Database implements \Magento\Framework\Lock\LockManagerInterface * * @param string $name lock name * @return bool - * @throws InputException * @throws \Zend_Db_Statement_Exception */ public function unlock(string $name): bool @@ -138,7 +136,6 @@ class Database implements \Magento\Framework\Lock\LockManagerInterface * * @param string $name lock name * @return bool - * @throws InputException * @throws \Zend_Db_Statement_Exception */ public function isLocked(string $name): bool @@ -162,15 +159,11 @@ class Database implements \Magento\Framework\Lock\LockManagerInterface * * @param string $name * @return string - * @throws InputException */ private function addPrefix(string $name): string { - $name = $this->getPrefix() . '|' . $name; - - if (strlen($name) > 64) { - throw new InputException(new Phrase('Lock name too long: %1...', [substr($name, 0, 64)])); - } + $prefix = $this->getPrefix() ? $this->getPrefix() . '|' : ''; + $name = ExpressionConverter::shortenEntityName($prefix . $name, $prefix); return $name; }