qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Stitcher <astitc...@redhat.com>
Subject Re: [c++] Request for comments: periodic timer implementation for clustering.
Date Wed, 27 Jan 2010 15:21:39 GMT
On Tue, 2010-01-26 at 17:27 -0500, Alan Conway wrote:
> A work-in-progress fix to the management timer updates problem in a cluster. 
> Would appreciate any comments in particular on ways to get around the ordering 
> problem which not obvious to me:
> https://issues.apache.org/jira/browse/QPID-2364

I haven't had a thorough look yet but some things come to mind:

1. If you've made Timer an interface with a small number of
implementations then I think this is the correct way to go. It's not
clear to me this is actually what you did.

2. PeriodicTimer is a crummy name. Call the Base interface Timer as it
is already or TimerBase. Then call the implementations StandaloneTimer
and ClusterSafeTimer or some names like that.

3. The ClusterSafeTimer implementation should be with the cluster code
not in qpid/sys.

4. I'm unclear whether all Timer events would need to ClusterSafe or not
or just some of them.

5. To get round the ordering issue perhaps hang on the multiphase plugin
load. Ie change Management init until all plugins loaded. Management
isn't a plugin itself is it. Perhaps I missed an important issue that
stops you doing this.

Maybe you need to register the ClusterSafeTimer with the Broker object
very early in the plugin init.

Hope these random thoughts help.


Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org

View raw message