You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2019/10/18 17:10:00 UTC

[jira] [Commented] (AMQ-7312) virtualSelectorCacheBrokerPlugin fails on "browse" action

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

ASF subversion and git services commented on AMQ-7312:
------------------------------------------------------

Commit 86a069ac5db9742ae58e396e162a0b3e2bdc66c3 in activemq's branch refs/heads/master from Dany LECOQ
[ https://gitbox.apache.org/repos/asf?p=activemq.git;h=86a069a ]

AMQ-7312 virtualSelectorCacheBrokerPlugin addConsumer issue


> virtualSelectorCacheBrokerPlugin fails on "browse" action
> ---------------------------------------------------------
>
>                 Key: AMQ-7312
>                 URL: https://issues.apache.org/jira/browse/AMQ-7312
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.15.10
>            Reporter: Dany LECOQ
>            Assignee: Jean-Baptiste Onofré
>            Priority: Critical
>             Fix For: 5.16.0, 5.15.11
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> We have a VirtualTopic "VirtualTopic.multi_dest" and 2 consumers :
>  * Consumer.alpha.VirtualTopic.multi_dest
>  * Consumer.beta.VirtualTopic.multi_dest
> Message producer send messages on that vTopic with various "tenant" header value.
> Each consumer use a selector to receive only desired data :
>  * tenant='alpha' for Consumer.alpha.VirtualTopic.multi_dest
>  * tenant='beta' for Consumer.beta.VirtualTopic.multi_dest
> To avoid to get many pending message on each consumer queue, we activated selectorAware="true" in broker settings.
> To avoid to lose message on temporary consumer deconnection, we activated virtualSelectorCacheBrokerPlugin plugin.
> Steps to reproduce bug :
>  * launch message producer and both message consumers alpha and beta
>  * stop alpha consumer
>  * notice on console pending messages on alpha queue increase
>  * if we restart alpha consumer, all pending messages are consumed => ok, only messages matching selector were in queue
>  * restop alpha consumer
>  * go on console and click on "Browse" link for alpha consumer queue
>  * restart alpha consumer => it will consume pending messages matching selector
>  * notice there are other waiting messages that do not match selector, so the consumer queue is fastly full of useless messages => ko
>  * even after broker restart, the alpha consumer queue continues to receive message that do not match selectors => ko
>  
> After code analysis, I notice "Browse" action create a new consumer on queue. In virtualSelectorCacheBrokerPlugin, the addConsumer method update "subSelectorCache" variable with 'TRUE' selector.
>  
> A pull request is submitted to fix that issue ([https://github.com/apache/activemq/pull/395]), could you merge it for the next patch 5.15.11 ?
>  
>  
>  



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