[ 
https://issues.apache.org/jira/browse/ARTEMIS-2649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17056398#comment-17056398
 ] 

Piotr Klimczak edited comment on ARTEMIS-2649 at 3/10/20, 8:38 PM:
-------------------------------------------------------------------

The fix example was rather to prove that indeed with this it works. My previous 
implementation was basing on composite addressing and because of that it had to 
hook in into many places in Artemis logic, which as I said previously was 
overcomplicated.

I really like the idea of filers, however this bug report is proving that this 
is bit error prone approach, therefore some mitigation measure should be 
implemented regardless of fix for the issue in this Jira bug.

For example throwing exception if a message for destination with auto-create 
DLQ is being delivered nowhere, this would help to satisfy guaranteed delivery 
concept in case of future code changes which would accidentally reintroduce 
similar bug.

I am sure you know all above anyway but feels right to mention it.

Thanks a lot for delivering this great feature again!


was (Author: nannou9):
The fix example was rather to prove that indeed with this it works. My previous 
implementation was basing on composite addressing and because of that it had to 
hook in into many places in Artemis logic, which as I said previously was 
overcomplicated.

I really like the idea of filers, however this bug report is proving that this 
is bit error prone approach, therefore some mitigation measure should be 
implemented regardless of fix for the issue in this Jira bug.

For example throwing exception if a message for destination with auto-create 
DLQ is being delivered nowhere, this would help to satisfy guaranteed delivery 
concept in case of future code changes which would accidentally reintroduce 
similar bug.

I am sure you know all above anyway bot feels right mention it.

Thanks a lot for delivering this great feature again!

> Auto-create DLQ message loss when moving messages between destinations
> ----------------------------------------------------------------------
>
>                 Key: ARTEMIS-2649
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2649
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.12.0
>         Environment: Centos 7 container in OKD with Java 8.
>            Reporter: Piotr Klimczak
>            Priority: Major
>
> [~jbertram], first of all thanks a lot for ARTEMIS-2587 implementation.
>  This was a must for me to switch to Artemis.
>  In past I have even tried to implement it in Artermis, but having no 
> previous experience with it, only with your PR I understood how nicely and 
> easily it can be implemented and how much I have overcomplicated it.
> So I am testing 2.12.0 snapshot as I am really interested in work done under 
> ARTEMIS-2587.
>  I am connecting using open wire protocol using camel-jms component, having 
> replaced old AMQ5 with Artermis.
> On failed consumption, I can see queue being created under DLQ address with 
> multicast and filter _AMQ_ORIG_ADDRESS = 'some.queue'.
>  However it is empty and message is lost.
> Reproduction scenario:
>  # Sending message to address A
>  # Moving message from A queue to B using web console move function
>  # Consuming from B and failing consumption
> Observed state:
>  # Queue is being created
>  # Message is lost and logs are not indicating anything
> As a result this message being moved from A to be B queue, the header 
> "_AMQ_ORIG_ADDRESS" has value "A" instead of "B" and therefore it does not 
> match the filter "B" and is getting lost.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to