DCell global data observers

28 views
Skip to first unread message

Blake Barnett

unread,
Jul 3, 2012, 2:44:16 PM7/3/12
to Celluloid
Given that the Paxos stuff is sort of on hold for now, what would be the most sane way to monitor for changes to the global data? I'd like an actor to be notified when it sees data change that it's concerned about.

-Blake

Tony Arcieri

unread,
Jul 3, 2012, 2:45:42 PM7/3/12
to cellulo...@googlegroups.com
On Tue, Jul 3, 2012 at 11:44 AM, Blake Barnett <sha...@gmail.com> wrote:
Given that the Paxos stuff is sort of on hold for now, what would be the most sane way to monitor for changes to the global data?  I'd like an actor to be notified when it sees data change that it's concerned about.

Well, that's easily doable with Zookeeper, unfortunately Zookeeper support is broken right now :(

--
Tony Arcieri

Blake Barnett

unread,
Jul 3, 2012, 3:02:37 PM7/3/12
to Tony Arcieri, cellulo...@googlegroups.com
Yeah, I'd like to avoid the zk dependency anyway.  I guess I'll dive in and see how hard it'll be to do this with the existing Paxos code.

-Blake

Grant Rodgers

unread,
Jul 3, 2012, 3:06:04 PM7/3/12
to cellulo...@googlegroups.com
I'm currently working on refactoring registries in this branch: https://github.com/grantr/dcell/tree/decouple

When this is done, actors should be able to use the new celluloid notifications framework to subscribe to external state changes without caring which registry is running.

On Tuesday, July 3, 2012 11:45:42 AM UTC-7, Tony Arcieri wrote:

Tony Arcieri

unread,
Jul 3, 2012, 3:29:26 PM7/3/12
to cellulo...@googlegroups.com
On Tue, Jul 3, 2012 at 12:02 PM, Blake Barnett <sha...@gmail.com> wrote:
Yeah, I'd like to avoid the zk dependency anyway.  I guess I'll dive in and see how hard it'll be to do this with the existing Paxos code.

Ideally I think Paxos is only used for leader election, and once a leader has been elected, DCell::Global writes should go through the leader, and Celluloid::Notifications can handle both notifying the slave nodes of any DCell::Global changes, and also any actors subscribed to those values.

--
Tony Arcieri

Blake Barnett

unread,
Jul 3, 2012, 3:57:42 PM7/3/12
to Tony Arcieri, cellulo...@googlegroups.com
Sounds great to me.

-Blake

Joe Hosteny

unread,
Jul 10, 2012, 8:53:55 AM7/10/12
to cellulo...@googlegroups.com, Tony Arcieri
All, sorry I've been absent on this for awhile.

For leader election alone, you actually don't even need Paxos. You can use just the omega elector, amongst others. The group membership changes won't be coordinated in quite the same way, but I think adding an epoch to all of the inter-actor messages should be sufficient to properly handle it. Of course, this assumes all of the membership changes are coordinated through the leader only.

I have a version of the elector which is in a pretty good state. I was looking at integrating it and got distracted with a new job, plus I wasn't quite sure I understood how the API was going to work. If someone wants to tackle that (and possibly discuss on IRC first) I can plug in the elector pretty quickly.
Reply all
Reply to author
Forward
0 new messages