[jira] Commented: (QPID-2364) Management updates in timer create inconsistencies in a cluster.

2010-02-01 Thread Alan Conway (JIRA)

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

2010-01-27 Thread Alan Conway (JIRA)

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

2010-01-26 Thread Alan Conway (JIRA)

[ 
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