[ https://issues.apache.org/jira/browse/QPID-8244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Rudyy updated QPID-8244:
-----------------------------
Status: Reviewable (was: In Progress)
> [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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
|