[ 
https://issues.apache.org/jira/browse/QPID-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12805675#action_12805675
 ] 

Alan Conway commented on QPID-2364:
-----------------------------------

This is fixed by the following revisions:

903826 Fix cluster elder calculation to ensure unique elder.
903869 QPID_2634  Management updates in timer create inconsistencies in a 
cluster.
903868 Test for management + cluster: run management tools in parallel with 
regular clients.
903867 Cluster implementation of PeriodicTimer.
903866 Added PeriodicTimer interface for periodic tasks that need cluster 
synchronization.
903864 In clustered broker: move construction of broker::Connections to the 
cluster dispatch thread.

It's been pointed out that the current solution is not well integrated with the 
existing Timer class.
A follow up rename/refactor will be done to:
 - define a single abstract Timer interface with named tasks.
 - implementations Local\Timer and ClusterTimer
 - two broker accessors returning Timer: \
  - getLocalTimer always returns a LocalTimer instance
  - getClusterTimer returns a ClusterTImer in a cluster, else the same as 
getLocalTimer
  - rework management timer initialization to happen after plugin init, drop 
DelegatedTimer

   

> Management updates in timer create inconsistencies in a cluster.
> ----------------------------------------------------------------
>
>                 Key: QPID-2364
>                 URL: https://issues.apache.org/jira/browse/QPID-2364
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.6
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>         Attachments: periodic-timer.patch
>
>
> Management updates are triggered by a timer. They are not predictable for the
> cluster and so can cause cluster shut-downs and inconsistent message delivery.
> We have a hack in place that suppresses exceptions when the session receives
> completions for transfers not yet sent (which is the usual manifestation of 
> the
> unpredictability). I.e. we have in essence disabled consistency checking for
> management sessions. This solved immediate problems but would quickly stop
> working if sessions/connections could be used for management and other things
> (as will be more likely with QMFv2 where using management becomes quite
> straightforward).    
> In a cluster, management updates need to be synchronized by executing them in 
> the cluster dispatch thread rather than a timer thread.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to