Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bug #32979 [Messenger] return empty envelopes when RetryableException…
… occurs (surikman) This PR was squashed before being merged into the 4.3 branch (closes #32979). Discussion ---------- [Messenger] return empty envelopes when RetryableException occurs | Q | A | ------------- | --- | Branch? | 3.4 or 4.3 for bug fixes <!-- see below --> | Bug fix? | yes | New feature? | no <!-- please update src/**/CHANGELOG.md files --> | BC breaks? | no <!-- see https://symfony.com/bc --> | Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files --> | Tests pass? | yes <!-- please add some, will be required by reviewers --> | License | MIT | ~~Doc PR~~ | ~~symfony/symfony-docs#12109~~ <!-- Replace this notice by a short README for your feature/bugfix. This will help people understand your PR and can be used as a start for the documentation. Additionally (see https://symfony.com/roadmap): - Bug fixes must be submitted against the lowest maintained branch where they apply (lowest branches are regularly merged to upper ones so they get the fixes too). - Features and deprecations must be submitted against branch 4.4. - Legacy code removals go to the master branch. --> Problem occurs when you are using more than 1 worker with Doctrine Transport. `Symfony\Component\Messenger\Transport\Doctrine\Connection::get` does a query `SELECT ... FOR UPDATE` and this locking query could lock table and workers stops. But using locks can result in dead locks or lock timeouts. Doctrine renders these SQL errors as RetryableExceptions. These exceptions are often normal if you are in a high concurrency environment. They can happen very often and your application should handle them properly. Commits ------- 9add32a [Messenger] return empty envelopes when RetryableException occurs
- Loading branch information