You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by Alexander Shraer <sh...@gmail.com> on 2012/10/10 20:52:22 UTC

C client & reconfiguration

Hi All,

If you're using (or familiar with) the ZooKeeper C client and would
like to help out with ZooKeeper 107, we still need a couple of
basic C tests for it. There are currently plenty of Java client and
server tests, including all kinds of failure scenarios,
so the C client tests should really just test the basic C reconfiguration API.

Thanks,
Alex

Re: C client & reconfiguration

Posted by Marshall McMullen <ma...@gmail.com>.
OK, that makes perfect sense.... thanks for clearing that up.

Anyhow, I'm back working on zookeeper as we speak so hopefully in the next
week or so I'll have something ready for you.

On Wed, Oct 10, 2012 at 10:21 PM, Sasha Gmail <sh...@gmail.com> wrote:

> Hi Marshall,
>
> The incremental mode is easier to use and has better guarantees. To use
> the non-incremental mode you need to know what the current config is and
> modify it. Suppose that you and I are doing this concurrently trying to
> make two different configuration changes. What will happen is that one of
> the changes (the one that gets to the leader first) will be silently
> overwritten by the other one. If you condition on the current config
> version (this is supported) the second reconfig will fail and you'll have
> to repeat the steps (read config, make your change and submit).
>
> With incremental reconfig you dont need to know the config. You just say
> you want to add A, I say I want to remove B, and both changes will be
> applied to the current config.
>
> Alex
>
>
> On Oct 10, 2012, at 20:46, Marshall McMullen <ma...@gmail.com>
> wrote:
>
> Alex, one thing I've been meaning to ask you regarding ZK-107 is why there
> exists a separate incremental and non-incremental reconfig interface. It
> seems things would be simpler on the clients if they only supported the
> non-incremental reconfig and let the server sort out which servers are
> joining and which are leaving...
>
> Can you explain a bit why both interfaces are required? How is the code
> path in the server different depending on which interface you use?
>
> On Wed, Oct 10, 2012 at 3:48 PM, Alexander Shraer <sh...@gmail.com>wrote:
>
>> great! thanks guys, your help is really appreciated!!
>>
>> please use the latest ZK-107 patch as I've changed some parts of the C
>> implementation recently. Don't hesitate
>> to ask me for any clarifications about the new APIs. For reference you
>> can also take a look on the new Java tests in that patch,
>> although I think that they cover much more than necessary for the C tests.
>>
>> Michi, actually there is a related patch
>> (https://issues.apache.org/jira/browse/ZOOKEEPER-1355) that needs a
>> review.
>> Flavio reviewed the Java part of it, and I fixed the patch according
>> to his comments, and then Marshall added a C
>> implementation that wasn't reviewed yet. I don't feel confident enough
>> in the C client implementation to review it.
>> If you can review it, please use Marshall's latest patch on this Jira.
>> If you like using the reviewboard I can update it with latest code.
>>
>> Thanks,
>> Alex
>>
>> On Wed, Oct 10, 2012 at 2:35 PM, Michi Mutsuzaki <mi...@cs.stanford.edu>
>> wrote:
>> > I'm available as well for reviewing the code, writing test, or
>> > whatever is necessary to get this feature out.
>> >
>> > Thanks!
>> > --Michi
>> >
>> > On Wed, Oct 10, 2012 at 2:24 PM, Marshall McMullen
>> > <ma...@gmail.com> wrote:
>> >> Hey Alex, I am definitely (still) interested in helping out with this.
>> >> Unfortunately things have been super busy for me for the last few
>> >> weeks in my day job and it's required a lot of late nights and after
>> >> hours to finish.
>> >>
>> >> I'm wrapping that up now, so I intend to have some free time over
>> >> the next couple weeks where I'll be able to contribute to this very
>> >> worthy feature.
>> >>
>> >> --Marshall
>> >>
>> >> ---------- Forwarded message ----------
>> >> From: Alexander Shraer <sh...@gmail.com>
>> >> Date: Wed, Oct 10, 2012 at 12:52 PM
>> >> Subject: C client & reconfiguration
>> >> To: dev@zookeeper.apache.org
>> >>
>> >>
>> >> Hi All,
>> >>
>> >> If you're using (or familiar with) the ZooKeeper C client and would
>> >> like to help out with ZooKeeper 107, we still need a couple of
>> >> basic C tests for it. There are currently plenty of Java client and
>> >> server tests, including all kinds of failure scenarios,
>> >> so the C client tests should really just test the basic C
>> reconfiguration
>> >> API.
>> >>
>> >> Thanks,
>> >> Alex
>>
>
>

Re: C client & reconfiguration

Posted by Sasha Gmail <sh...@gmail.com>.
Hi Marshall,

The incremental mode is easier to use and has better guarantees. To use the non-incremental mode you need to know what the current config is and modify it. Suppose that you and I are doing this concurrently trying to make two different configuration changes. What will happen is that one of the changes (the one that gets to the leader first) will be silently overwritten by the other one. If you condition on the current config version (this is supported) the second reconfig will fail and you'll have to repeat the steps (read config, make your change and submit). 

With incremental reconfig you dont need to know the config. You just say you want to add A, I say I want to remove B, and both changes will be applied to the current config. 

Alex

On Oct 10, 2012, at 20:46, Marshall McMullen <ma...@gmail.com> wrote:

> Alex, one thing I've been meaning to ask you regarding ZK-107 is why there exists a separate incremental and non-incremental reconfig interface. It seems things would be simpler on the clients if they only supported the non-incremental reconfig and let the server sort out which servers are joining and which are leaving... 
> 
> Can you explain a bit why both interfaces are required? How is the code path in the server different depending on which interface you use?
> 
> On Wed, Oct 10, 2012 at 3:48 PM, Alexander Shraer <sh...@gmail.com> wrote:
>> great! thanks guys, your help is really appreciated!!
>> 
>> please use the latest ZK-107 patch as I've changed some parts of the C
>> implementation recently. Don't hesitate
>> to ask me for any clarifications about the new APIs. For reference you
>> can also take a look on the new Java tests in that patch,
>> although I think that they cover much more than necessary for the C tests.
>> 
>> Michi, actually there is a related patch
>> (https://issues.apache.org/jira/browse/ZOOKEEPER-1355) that needs a
>> review.
>> Flavio reviewed the Java part of it, and I fixed the patch according
>> to his comments, and then Marshall added a C
>> implementation that wasn't reviewed yet. I don't feel confident enough
>> in the C client implementation to review it.
>> If you can review it, please use Marshall's latest patch on this Jira.
>> If you like using the reviewboard I can update it with latest code.
>> 
>> Thanks,
>> Alex
>> 
>> On Wed, Oct 10, 2012 at 2:35 PM, Michi Mutsuzaki <mi...@cs.stanford.edu> wrote:
>> > I'm available as well for reviewing the code, writing test, or
>> > whatever is necessary to get this feature out.
>> >
>> > Thanks!
>> > --Michi
>> >
>> > On Wed, Oct 10, 2012 at 2:24 PM, Marshall McMullen
>> > <ma...@gmail.com> wrote:
>> >> Hey Alex, I am definitely (still) interested in helping out with this.
>> >> Unfortunately things have been super busy for me for the last few
>> >> weeks in my day job and it's required a lot of late nights and after
>> >> hours to finish.
>> >>
>> >> I'm wrapping that up now, so I intend to have some free time over
>> >> the next couple weeks where I'll be able to contribute to this very
>> >> worthy feature.
>> >>
>> >> --Marshall
>> >>
>> >> ---------- Forwarded message ----------
>> >> From: Alexander Shraer <sh...@gmail.com>
>> >> Date: Wed, Oct 10, 2012 at 12:52 PM
>> >> Subject: C client & reconfiguration
>> >> To: dev@zookeeper.apache.org
>> >>
>> >>
>> >> Hi All,
>> >>
>> >> If you're using (or familiar with) the ZooKeeper C client and would
>> >> like to help out with ZooKeeper 107, we still need a couple of
>> >> basic C tests for it. There are currently plenty of Java client and
>> >> server tests, including all kinds of failure scenarios,
>> >> so the C client tests should really just test the basic C reconfiguration
>> >> API.
>> >>
>> >> Thanks,
>> >> Alex
> 

Re: C client & reconfiguration

Posted by Marshall McMullen <ma...@gmail.com>.
Alex, one thing I've been meaning to ask you regarding ZK-107 is why there
exists a separate incremental and non-incremental reconfig interface. It
seems things would be simpler on the clients if they only supported the
non-incremental reconfig and let the server sort out which servers are
joining and which are leaving...

Can you explain a bit why both interfaces are required? How is the code
path in the server different depending on which interface you use?

On Wed, Oct 10, 2012 at 3:48 PM, Alexander Shraer <sh...@gmail.com> wrote:

> great! thanks guys, your help is really appreciated!!
>
> please use the latest ZK-107 patch as I've changed some parts of the C
> implementation recently. Don't hesitate
> to ask me for any clarifications about the new APIs. For reference you
> can also take a look on the new Java tests in that patch,
> although I think that they cover much more than necessary for the C tests.
>
> Michi, actually there is a related patch
> (https://issues.apache.org/jira/browse/ZOOKEEPER-1355) that needs a
> review.
> Flavio reviewed the Java part of it, and I fixed the patch according
> to his comments, and then Marshall added a C
> implementation that wasn't reviewed yet. I don't feel confident enough
> in the C client implementation to review it.
> If you can review it, please use Marshall's latest patch on this Jira.
> If you like using the reviewboard I can update it with latest code.
>
> Thanks,
> Alex
>
> On Wed, Oct 10, 2012 at 2:35 PM, Michi Mutsuzaki <mi...@cs.stanford.edu>
> wrote:
> > I'm available as well for reviewing the code, writing test, or
> > whatever is necessary to get this feature out.
> >
> > Thanks!
> > --Michi
> >
> > On Wed, Oct 10, 2012 at 2:24 PM, Marshall McMullen
> > <ma...@gmail.com> wrote:
> >> Hey Alex, I am definitely (still) interested in helping out with this.
> >> Unfortunately things have been super busy for me for the last few
> >> weeks in my day job and it's required a lot of late nights and after
> >> hours to finish.
> >>
> >> I'm wrapping that up now, so I intend to have some free time over
> >> the next couple weeks where I'll be able to contribute to this very
> >> worthy feature.
> >>
> >> --Marshall
> >>
> >> ---------- Forwarded message ----------
> >> From: Alexander Shraer <sh...@gmail.com>
> >> Date: Wed, Oct 10, 2012 at 12:52 PM
> >> Subject: C client & reconfiguration
> >> To: dev@zookeeper.apache.org
> >>
> >>
> >> Hi All,
> >>
> >> If you're using (or familiar with) the ZooKeeper C client and would
> >> like to help out with ZooKeeper 107, we still need a couple of
> >> basic C tests for it. There are currently plenty of Java client and
> >> server tests, including all kinds of failure scenarios,
> >> so the C client tests should really just test the basic C
> reconfiguration
> >> API.
> >>
> >> Thanks,
> >> Alex
>

Re: C client & reconfiguration

Posted by Michi Mutsuzaki <mi...@cs.stanford.edu>.
Yes, I'd like to use the reviewboard. I think I have time to review
ZOOKEEPER-1355 this weekend.

Thanks!
--Michi

On Wed, Oct 10, 2012 at 2:48 PM, Alexander Shraer <sh...@gmail.com> wrote:
> great! thanks guys, your help is really appreciated!!
>
> please use the latest ZK-107 patch as I've changed some parts of the C
> implementation recently. Don't hesitate
> to ask me for any clarifications about the new APIs. For reference you
> can also take a look on the new Java tests in that patch,
> although I think that they cover much more than necessary for the C tests.
>
> Michi, actually there is a related patch
> (https://issues.apache.org/jira/browse/ZOOKEEPER-1355) that needs a
> review.
> Flavio reviewed the Java part of it, and I fixed the patch according
> to his comments, and then Marshall added a C
> implementation that wasn't reviewed yet. I don't feel confident enough
> in the C client implementation to review it.
> If you can review it, please use Marshall's latest patch on this Jira.
> If you like using the reviewboard I can update it with latest code.
>
> Thanks,
> Alex
>
> On Wed, Oct 10, 2012 at 2:35 PM, Michi Mutsuzaki <mi...@cs.stanford.edu> wrote:
>> I'm available as well for reviewing the code, writing test, or
>> whatever is necessary to get this feature out.
>>
>> Thanks!
>> --Michi
>>
>> On Wed, Oct 10, 2012 at 2:24 PM, Marshall McMullen
>> <ma...@gmail.com> wrote:
>>> Hey Alex, I am definitely (still) interested in helping out with this.
>>> Unfortunately things have been super busy for me for the last few
>>> weeks in my day job and it's required a lot of late nights and after
>>> hours to finish.
>>>
>>> I'm wrapping that up now, so I intend to have some free time over
>>> the next couple weeks where I'll be able to contribute to this very
>>> worthy feature.
>>>
>>> --Marshall
>>>
>>> ---------- Forwarded message ----------
>>> From: Alexander Shraer <sh...@gmail.com>
>>> Date: Wed, Oct 10, 2012 at 12:52 PM
>>> Subject: C client & reconfiguration
>>> To: dev@zookeeper.apache.org
>>>
>>>
>>> Hi All,
>>>
>>> If you're using (or familiar with) the ZooKeeper C client and would
>>> like to help out with ZooKeeper 107, we still need a couple of
>>> basic C tests for it. There are currently plenty of Java client and
>>> server tests, including all kinds of failure scenarios,
>>> so the C client tests should really just test the basic C reconfiguration
>>> API.
>>>
>>> Thanks,
>>> Alex

Re: C client & reconfiguration

Posted by Alexander Shraer <sh...@gmail.com>.
great! thanks guys, your help is really appreciated!!

please use the latest ZK-107 patch as I've changed some parts of the C
implementation recently. Don't hesitate
to ask me for any clarifications about the new APIs. For reference you
can also take a look on the new Java tests in that patch,
although I think that they cover much more than necessary for the C tests.

Michi, actually there is a related patch
(https://issues.apache.org/jira/browse/ZOOKEEPER-1355) that needs a
review.
Flavio reviewed the Java part of it, and I fixed the patch according
to his comments, and then Marshall added a C
implementation that wasn't reviewed yet. I don't feel confident enough
in the C client implementation to review it.
If you can review it, please use Marshall's latest patch on this Jira.
If you like using the reviewboard I can update it with latest code.

Thanks,
Alex

On Wed, Oct 10, 2012 at 2:35 PM, Michi Mutsuzaki <mi...@cs.stanford.edu> wrote:
> I'm available as well for reviewing the code, writing test, or
> whatever is necessary to get this feature out.
>
> Thanks!
> --Michi
>
> On Wed, Oct 10, 2012 at 2:24 PM, Marshall McMullen
> <ma...@gmail.com> wrote:
>> Hey Alex, I am definitely (still) interested in helping out with this.
>> Unfortunately things have been super busy for me for the last few
>> weeks in my day job and it's required a lot of late nights and after
>> hours to finish.
>>
>> I'm wrapping that up now, so I intend to have some free time over
>> the next couple weeks where I'll be able to contribute to this very
>> worthy feature.
>>
>> --Marshall
>>
>> ---------- Forwarded message ----------
>> From: Alexander Shraer <sh...@gmail.com>
>> Date: Wed, Oct 10, 2012 at 12:52 PM
>> Subject: C client & reconfiguration
>> To: dev@zookeeper.apache.org
>>
>>
>> Hi All,
>>
>> If you're using (or familiar with) the ZooKeeper C client and would
>> like to help out with ZooKeeper 107, we still need a couple of
>> basic C tests for it. There are currently plenty of Java client and
>> server tests, including all kinds of failure scenarios,
>> so the C client tests should really just test the basic C reconfiguration
>> API.
>>
>> Thanks,
>> Alex

Re: C client & reconfiguration

Posted by Michi Mutsuzaki <mi...@cs.stanford.edu>.
I'm available as well for reviewing the code, writing test, or
whatever is necessary to get this feature out.

Thanks!
--Michi

On Wed, Oct 10, 2012 at 2:24 PM, Marshall McMullen
<ma...@gmail.com> wrote:
> Hey Alex, I am definitely (still) interested in helping out with this.
> Unfortunately things have been super busy for me for the last few
> weeks in my day job and it's required a lot of late nights and after
> hours to finish.
>
> I'm wrapping that up now, so I intend to have some free time over
> the next couple weeks where I'll be able to contribute to this very
> worthy feature.
>
> --Marshall
>
> ---------- Forwarded message ----------
> From: Alexander Shraer <sh...@gmail.com>
> Date: Wed, Oct 10, 2012 at 12:52 PM
> Subject: C client & reconfiguration
> To: dev@zookeeper.apache.org
>
>
> Hi All,
>
> If you're using (or familiar with) the ZooKeeper C client and would
> like to help out with ZooKeeper 107, we still need a couple of
> basic C tests for it. There are currently plenty of Java client and
> server tests, including all kinds of failure scenarios,
> so the C client tests should really just test the basic C reconfiguration
> API.
>
> Thanks,
> Alex

Fwd: C client & reconfiguration

Posted by Marshall McMullen <ma...@gmail.com>.
Hey Alex, I am definitely (still) interested in helping out with this.
Unfortunately things have been super busy for me for the last few
weeks in my day job and it's required a lot of late nights and after
hours to finish.

I'm wrapping that up now, so I intend to have some free time over
the next couple weeks where I'll be able to contribute to this very
worthy feature.

--Marshall

---------- Forwarded message ----------
From: Alexander Shraer <sh...@gmail.com>
Date: Wed, Oct 10, 2012 at 12:52 PM
Subject: C client & reconfiguration
To: dev@zookeeper.apache.org


Hi All,

If you're using (or familiar with) the ZooKeeper C client and would
like to help out with ZooKeeper 107, we still need a couple of
basic C tests for it. There are currently plenty of Java client and
server tests, including all kinds of failure scenarios,
so the C client tests should really just test the basic C reconfiguration
API.

Thanks,
Alex