[ 
https://issues.apache.org/jira/browse/QPID-8244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Rudyy reassigned QPID-8244:
--------------------------------

    Assignee: Alex Rudyy

> [Broker-J] Optimize fanout exchange routing functionality
> ---------------------------------------------------------
>
>                 Key: QPID-8244
>                 URL: https://issues.apache.org/jira/browse/QPID-8244
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Broker-J
>    Affects Versions: qpid-java-broker-7.0.6
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>            Priority: Major
>             Fix For: qpid-java-broker-7.1.0, qpid-java-broker-7.0.7
>
>
> Whilst investigating a performance issue reported as part of QPID-8238 I ran 
> a java profiler which had detected some performance loss on creation of 
> intermediate map objects and copying data between intermediate maps in 
> {{org.apache.qpid.server.exchange.TopicExchangeImpl#getMatchedDestinations}} 
> and 
> {{org.apache.qpid.server.exchange.topic.TopicExchangeResult#processMessage(org.apache.qpid.server.filter.Filterable)}}.
>  
> Effectively, the routing functionality converts the collection of 
> TopicMatcherResult got based on message routing key into a map where keys are 
> route destinations and values are routing/replacement keys. The conversions 
> is done in {{TopicExchangeImpl#getMatchedDestinations}} using intermediate 
> map returned from  {{TopicExchangeResult#processMessage}} and containing the 
> destination as a key and routing replacement key as a value. Than, multiple 
> maps (representing each TopicMatcherResult ) are merged into a single map.
> I committed the changes [ 
> https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=0510ed3 ]  
> eliminating the need for intermediate map creation in 
> {{TopicExchangeResult#processMessage}}. It also simplifies the code. 
> The commit left the old implementation untouched but marked it as Deprecated 
> in order to keep public methods unchanged as the next version is minor 
> release rather major one. 
> Following [review comments from Keith 
> Wall|https://issues.apache.org/jira/browse/QPID-8238?focusedCommentId=16610224&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16610224]
>  I created this JIRA to track exchange changes and reapply the commit 
> [0510ed3|https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=0510ed3]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to