Commit 18912b6
committed
[Messenger] backport #54167: retry AMQPConnectionException on publish
Ports the upstream Symfony 5.4/6.4 fix for symfony/symfony#48241 into
this 4.4 fork. Wraps Connection::publish() in withConnectionExceptionRetry()
which catches \AMQPConnectionException, drops cached channel/queues/exchanges
via clear(), and retries up to 3 times with no backoff.
Fixes intermittent AMQPS publish failures against AWS AmazonMQ caused by
AWS NLB's 350s idle TCP timeout silently killing connections — ext-amqp's
isConnected() doesn't detect the dead socket so the next publish surfaces
as "Library error: a SSL error occurred".
Upstream PR: symfony/symfony#54167
Upstream issue: symfony/symfony#482411 parent f620068 commit 18912b6
1 file changed
Lines changed: 44 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
191 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
192 | 193 | | |
193 | | - | |
194 | | - | |
| 194 | + | |
| 195 | + | |
195 | 196 | | |
196 | | - | |
197 | | - | |
198 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
199 | 200 | | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
207 | 209 | | |
208 | 210 | | |
209 | 211 | | |
| |||
442 | 444 | | |
443 | 445 | | |
444 | 446 | | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
449 | 475 | | |
450 | 476 | | |
451 | 477 | | |
| |||
0 commit comments