[jira] Commented: (QPID-2364) Management updates in timer create inconsistencies in a cluster.
[ https://issues.apache.org/jira/browse/QPID-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12828113#action_12828113 ] Alan Conway commented on QPID-2364: --- Refactoring done in r904656 > 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:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2364) Management updates in timer create inconsistencies in a cluster.
[ 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:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2364) Management updates in timer create inconsistencies in a cluster.
[ https://issues.apache.org/jira/browse/QPID-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12805240#action_12805240 ] Alan Conway commented on QPID-2364: --- Attached first cut at a patch to introduce an abstract "PeriodicTimer" that is implemented differently in standalone and cluster mode. In standalone mode it just uses sys::Timer. In cluster mode it uses sys::Timer to multicast a periodic-timer control, the actual task is executed on delivery of that control in the cluster dispatch thread. As it stands it does not work because ManagementAgent adds its timer task before the cluster plug-in initializes, so it is added to the default PeriodicTimer, not the clusters PeriodicTimer. > 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 > > 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:dev-subscr...@qpid.apache.org