From a46f12467100ba6012946422ca53afbfbd56535d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nico=20M=C3=BCller?= Date: Fri, 12 Jan 2024 01:54:15 +0100 Subject: [PATCH 1/6] fix: Throw exception on nack confirm callback --- .../Component/Messenger/Bridge/Amqp/Transport/Connection.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php index 1ed87b1a3b510..a0af8044efa66 100644 --- a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php @@ -13,6 +13,8 @@ use Symfony\Component\Messenger\Exception\InvalidArgumentException; use Symfony\Component\Messenger\Exception\LogicException; +use Symfony\Component\Messenger\Exception\RuntimeException; +use Symfony\Component\Messenger\Exception\SendingMessageFailedException; /** * An AMQP connection. @@ -493,7 +495,7 @@ public function channel(): \AMQPChannel $this->amqpChannel->confirmSelect(); $this->amqpChannel->setConfirmCallback( static fn (): bool => false, - static fn (): bool => false + static fn (): bool => throw new RuntimeException('Confirm calls back with nack'), ); } From 8a9ff13f792c761fa40f985638d06c4fea34f789 Mon Sep 17 00:00:00 2001 From: kvrushifa Date: Fri, 12 Jan 2024 02:17:13 +0100 Subject: [PATCH 2/6] chore: Adjust formatting for previously introduced exception message --- .../Component/Messenger/Bridge/Amqp/Transport/Connection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php index a0af8044efa66..dd7c28a8fa713 100644 --- a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php @@ -495,7 +495,7 @@ public function channel(): \AMQPChannel $this->amqpChannel->confirmSelect(); $this->amqpChannel->setConfirmCallback( static fn (): bool => false, - static fn (): bool => throw new RuntimeException('Confirm calls back with nack'), + static fn (): bool => throw new RuntimeException('Confirm calls back with nack.'), ); } From 33c30679cda7012ea757028a797ec2e071081ff2 Mon Sep 17 00:00:00 2001 From: kvrushifa Date: Fri, 12 Jan 2024 02:18:58 +0100 Subject: [PATCH 3/6] chore: Remove unused import --- .../Component/Messenger/Bridge/Amqp/Transport/Connection.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php index dd7c28a8fa713..299d3a41b608b 100644 --- a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php @@ -14,7 +14,6 @@ use Symfony\Component\Messenger\Exception\InvalidArgumentException; use Symfony\Component\Messenger\Exception\LogicException; use Symfony\Component\Messenger\Exception\RuntimeException; -use Symfony\Component\Messenger\Exception\SendingMessageFailedException; /** * An AMQP connection. From 197afeeee39918fd6602b058b7d858e1db0a7d3a Mon Sep 17 00:00:00 2001 From: kvrushifa Date: Fri, 12 Jan 2024 03:03:59 +0100 Subject: [PATCH 4/6] chore: Make psalm happy (hopefully) --- .../Component/Messenger/Bridge/Amqp/Transport/Connection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php index 299d3a41b608b..17d2c05dc5960 100644 --- a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php @@ -494,7 +494,7 @@ public function channel(): \AMQPChannel $this->amqpChannel->confirmSelect(); $this->amqpChannel->setConfirmCallback( static fn (): bool => false, - static fn (): bool => throw new RuntimeException('Confirm calls back with nack.'), + static fn () => throw new RuntimeException('Confirm calls back with nack.'), ); } From 972363ac05bf70258ed93cf005ec10de6c47ca26 Mon Sep 17 00:00:00 2001 From: kvrushifa Date: Fri, 12 Jan 2024 03:25:50 +0100 Subject: [PATCH 5/6] refactor: Use correct exception class --- .../Component/Messenger/Bridge/Amqp/Transport/Connection.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php index 17d2c05dc5960..0376c11e164c3 100644 --- a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php @@ -13,7 +13,7 @@ use Symfony\Component\Messenger\Exception\InvalidArgumentException; use Symfony\Component\Messenger\Exception\LogicException; -use Symfony\Component\Messenger\Exception\RuntimeException; +use Symfony\Component\Messenger\Exception\TransportException; /** * An AMQP connection. @@ -494,7 +494,7 @@ public function channel(): \AMQPChannel $this->amqpChannel->confirmSelect(); $this->amqpChannel->setConfirmCallback( static fn (): bool => false, - static fn () => throw new RuntimeException('Confirm calls back with nack.'), + static fn () => throw new TransportException('Confirm calls back with nack.'), ); } From 2d13faa274eee5bc1066d70dc736bbb51174e9a3 Mon Sep 17 00:00:00 2001 From: kvrushifa Date: Tue, 23 Jan 2024 13:31:51 +0100 Subject: [PATCH 6/6] chore: Write meaningful exception message --- .../Component/Messenger/Bridge/Amqp/Transport/Connection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php index 0376c11e164c3..604bb5a516098 100644 --- a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php @@ -494,7 +494,7 @@ public function channel(): \AMQPChannel $this->amqpChannel->confirmSelect(); $this->amqpChannel->setConfirmCallback( static fn (): bool => false, - static fn () => throw new TransportException('Confirm calls back with nack.'), + static fn () => throw new TransportException('Message publication failed due to a negative acknowledgment (nack) from the broker.'), ); }