[
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]