----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/17641/#review33424 -----------------------------------------------------------
Ship it! Ship It! - Gordon Sim On Feb. 3, 2014, 12:12 p.m., Pavel Moravec wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/17641/ > ----------------------------------------------------------- > > (Updated Feb. 3, 2014, 12:12 p.m.) > > > Review request for qpid, Chug Rolke and Gordon Sim. > > > Bugs: QPID-5534 > https://issues.apache.org/jira/browse/QPID-5534 > > > Repository: qpid > > > Description > ------- > > Root cause of the bug: HeadersExchange::route method generates BindingList > that may contain multiple bindings to the same queue. That causes a message > to be enqueued to the same queue more than once. > > The patch sorts+makes unique the BindingList by using std::map < Queue , > Binding > (boost pointers in fact). Also an automated python test added. > > The patch is trivial, but: > - I am not sure if there isn't easier / more elegant way of sort&uniq of > BindingList > - one quite irrelevant test > "qpid_tests.broker_0_10.management.ManagementTest.test_connection_stats" > fails in 1/2 of runs; Debugging it found that the QMF related connection was > created almost minute _after_ session.attach("stats-session") invoked. That > seems like an issue unrelated to this patch. > > > Diffs > ----- > > /trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp 1563839 > /trunk/qpid/tests/src/py/qpid_tests/broker_0_10/exchange.py 1563839 > > Diff: https://reviews.apache.org/r/17641/diff/ > > > Testing > ------- > > > Thanks, > > Pavel Moravec > >
