[ 
https://issues.apache.org/jira/browse/ARTEMIS-4924?focusedWorklogId=983357&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-983357
 ]

ASF GitHub Bot logged work on ARTEMIS-4924:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 16/Sep/25 16:21
            Start Date: 16/Sep/25 16:21
    Worklog Time Spent: 10m 
      Work Description: jbertram commented on code in PR #5921:
URL: https://github.com/apache/activemq-artemis/pull/5921#discussion_r2353027837


##########
artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/impl/BridgeImpl.java:
##########
@@ -630,7 +630,17 @@ public HandleStatus handle(final MessageReference ref) 
throws Exception {
                dest = ref.getMessage().getAddressSimpleString();
             }
 
-            final Message message = beforeForward(ref.getMessage(), dest);
+            final Message message;
+            try {
+               message = beforeForward(ref.getMessage(), dest);
+            } catch (ActiveMQException ex) {
+               
ActiveMQServerLogger.LOGGER.bridgeUnableToHandleMessage(getName(), 
ref.getMessage().toString(), ex.getMessage());
+               ref.getQueue().sendToDeadLetterAddress(null, ref);
+               synchronized (refs) {
+                  refs.remove(ref.getMessageID());

Review Comment:
   The `refs` list is managed by the `BridgeImpl` itself and has no direct 
connection to the underlying `QueueImpl`. The `sendToDeadLetterAddress` method 
adjusts the "in delivery" metrics. In short, there should be no problem.
   
   However, I added extra assertions to the test-case to verify.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 983357)
    Time Spent: 3.5h  (was: 3h 20m)

> Handle invalid messages in SNF queues
> -------------------------------------
>
>                 Key: ARTEMIS-4924
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4924
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Clustering
>    Affects Versions: 2.35.0
>            Reporter: Howard Gao
>            Assignee: Howard Gao
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> Currently, if a poison message missing queue information ends up in the SF 
> queue, the broker logs an error, like:
> {noformat}
> AMQ222110: no queue IDs defined...{noformat}
> However, the message remains in the queue with the result that the bridge 
> continuously reconnects, encounters the failure, then evicts the bridge 
> consumer.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to