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

Gordon Sim updated QPID-6213:
-----------------------------
    Attachment: QPID-6213_suggested_further_fix.patch

Since the purge() call may be called while still iterating over the queues in 
fired(), the task can indeed still be added more than once, though the window 
is now much smaller than before the initial fix.

The attached patch should prevent this. It also incorporates the changes made 
by Chuck, though instead of a null pointer, I've just added a test as to 
whether any queues were in fact pushed.

Andrew's suggested change would also work, but it would schedule the purging 
again whether or not the initial purge had completed in time (which was 
something I had wanted to avoid).

I'm running through tests with this patch, but could not actually reproduce the 
problem. 

> 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_suggested_further_fix.patch, qpid-6213-svn-01.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

Reply via email to