Merge pull request #45768 from nextcloud/artonge/fix/copy_retry

Use isRetryable to catch retryable exceptions
This commit is contained in:
Louis 2024-06-12 10:08:46 +02:00 committed by GitHub
commit f626476b11
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -7,8 +7,8 @@
*/
namespace OC\Files\Cache;
use Doctrine\DBAL\Exception\RetryableException;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use OC\DB\Exceptions\DbalException;
use OC\Files\Search\SearchComparison;
use OC\Files\Search\SearchQuery;
use OC\Files\Storage\Wrapper\Encryption;
@ -696,7 +696,11 @@ class Cache implements ICache {
} catch (\OC\DatabaseException $e) {
$this->connection->rollBack();
throw $e;
} catch (RetryableException $e) {
} catch (DbalException $e) {
if (!$e->isRetryable()) {
throw $e;
}
// Simply throw if we already retried 4 times.
if ($i === $retryLimit) {
throw $e;