[ https://issues.apache.org/jira/browse/QPID-6213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14227824#comment-14227824 ]
Alan Conway commented on QPID-6213: ----------------------------------- Re qpid-6213-svn-14.patch: very nice work. Please simplify by getting rid of the old while loop and making your new code the only way we process, i.e. delete old process(), rename processOneShot() as process() and get rid of boolean flag to choose between them. The old loop is just wrong: - clearly if the callback doesn't process the entire batch then we should give up the thread, it makes no sense to stuff messages the callback has just refused back into the same callback in the same thread. - it is possible that new messages arrive while we are processing the first batch, but again we should give up the thread before we process them - otherwise we can hold the thread for an unbounded time if messages keep arriving while we are processing. The whole idea of batch processing in this code was exactly to do a bounded amount of work before giving up the thread, so the while loop was some sort of brain fart on my part. > qpidd misses heartbeats > ----------------------- > > Key: QPID-6213 > URL: https://issues.apache.org/jira/browse/QPID-6213 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Affects Versions: 0.30 > Reporter: Gordon Sim > Assignee: Gordon Sim > Fix For: 0.31 > > Attachments: > 0001-QPID-6213-Fix-misuse-of-Timer-in-queue-cleaning-code.patch, > QPID-6213-svn-10.patch, QPID-6213_suggested_further_fix.patch, > qpid-6213-broker-1.log, qpid-6213-broker.log, qpid-6213-svn-01.patch, > qpid-6213-svn-14.patch, qpidd.log.gz > > > Caused by https://issues.apache.org/jira/browse/QPID-5758. Reproducer from > Pavel Moravec: create many heartbeat enabled connections and queues (e.g. 500 > idle receivers, each with their own queue) and have the purge interval > relatively short (to speed up reproducing). > The broker misses heartbeats and connections get timed out. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org