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

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

                Author: ASF GitHub Bot
            Created on: 01/May/23 19:07
            Start Date: 01/May/23 19:07
    Worklog Time Spent: 10m 
      Work Description: jbertram commented on PR #4452:
URL: 
https://github.com/apache/activemq-artemis/pull/4452#issuecomment-1530089668

   I found some additional use-cases with JMS _queue_ consumers + FQQN + 
selector that weren't working as expected so I've fixed those and added a few 
corresponding tests.
   
   As for the other use-cases you mentioned...I think any use-case involving a 
pre-created queue with a filter being accessed via FQQN by a client also 
defining its own filter is extremely rare if in use anywhere at all. It's 
certainly beyond what is documented and won't work consistently across JMS 
clients even now.
   
   Generally speaking, in multicast + filtered use-cases the filtering should 
be done _at the queue_. In anycast + filtered use-cases the filtering should be 
done _at the consumer_. These basic semantics are enforced for non-FQQN 
use-cases and should be enforced for FQQN use-cases as well. If this breaks 
undocumented, untested, niche use-cases then that can be addressed in another 
PR if we deem it necessary.




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

    Worklog Id:     (was: 859901)
    Time Spent: 20m  (was: 10m)

> JMS consumer + FQQN + selector not working
> ------------------------------------------
>
>                 Key: ARTEMIS-4259
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4259
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The CORE protocol does not honor consumers with a filter when used on FQQN 
> topics.
> Steps to reproduce:
> Start a consumer using CLI:
> {noformat}
> ./artemis consumer --url tcp://localhost:61616 --destination 
> topic://topic1::topic1.queue1 --protocol=core --message-count 1 --filter 
> "foo='bar'" --verbose{noformat}
> Send a message without the filter string:
> {noformat}
> ./artemis producer --url tcp://localhost:61616 --destination 
> topic://topic1::topic1.queue1 --protocol=core --message-count 1 --message 
> "some text"{noformat}
> You can observe the CORE client consuming the message which does not contain 
> the filter String:
> {noformat}
> Connection brokerURL = tcp://localhost:61616
> Consumer:: filter = foo='bar'
> Consumer ActiveMQTopic[topic1::topic1.queue1], thread=0 wait until 1 messages 
> are consumed
> Consumer ActiveMQTopic[topic1::topic1.queue1], thread=0 Received some text
> JMS Message ID:ID:a00cbea3-dda7-11ed-9c2d-b42e99ea6f5c
> Received text sized at 9
> Consumer ActiveMQTopic[topic1::topic1.queue1], thread=0 Consumed: 1 messages
> Consumer ActiveMQTopic[topic1::topic1.queue1], thread=0 Elapsed time in 
> second : 8 s
> Consumer ActiveMQTopic[topic1::topic1.queue1], thread=0 Elapsed time in milli 
> second : 8140 milli seconds
> Consumer ActiveMQTopic[topic1::topic1.queue1], thread=0 Consumed: 1 messages
> Consumer ActiveMQTopic[topic1::topic1.queue1], thread=0 Consumer thread 
> finished{noformat}



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

Reply via email to