[
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: [email protected]
For additional commands, e-mail: [email protected]