Merge pull request #45806 from nextcloud/backport/45768/stable27

[stable27] Use isRetryable to catch retryable exceptions
This commit is contained in:
Arthur Schiwon 2024-06-13 10:45:40 +02:00 committed by GitHub
commit 46bc43145d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -40,8 +40,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;
@ -738,7 +738,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;