Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Messenger] Respect isRetryable decision of the retry strategy for re-delivery #49063

Open
wants to merge 1 commit into
base: 5.4
Choose a base branch
from

Conversation

FlyingDR
Copy link

Q A
Branch? 5.4
Bug fix? yes
New feature? no
Deprecations? no
Tickets
License MIT
Doc PR

Documentation for retry strategy for the Messenger component declares that message will not be retried to be re-delivered more than the value of max_retries configuration for the retry strategy.

However, after merging #36557 actual implementation gives priority to the existence of the RecoverableExceptionInterface, effectively opening a way for a message to be re-delivered indefinitely.

Additionally, in the case of using multiplier with a value of more than 1 this unlimited re-delivery causes unlimited growth of the delay value for the DelayStamp. Its type is defined as int, so on 32-bit platforms after some time delay value may exceed PHP_INT_MAX which will lead to the TypeError.

The proposed change enforces respect for the max_retries setting value for the decision of re-delivery.

… deciding if failed message should be re-delivered
@carsonbot
Copy link

Hey!

I see that this is your first PR. That is great! Welcome!

Symfony has a contribution guide which I suggest you to read.

In short:

  • Always add tests
  • Keep backward compatibility (see https://symfony.com/bc).
  • Bug fixes must be submitted against the lowest maintained branch where they apply (see https://symfony.com/releases)
  • Features and deprecations must be submitted against the 6.3 branch.

Review the GitHub status checks of your pull request and try to solve the reported issues. If some tests are failing, try to see if they are failing because of this change.

When two Symfony core team members approve this change, it will be merged and you will become an official Symfony contributor!
If this PR is merged in a lower version branch, it will be merged up to all maintained branches within a few days.

I am going to sit back now and wait for the reviews.

Cheers!

Carsonbot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants