Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Zookeeper >> mail # user >> Zookeeper protocol weirdness and pure Python kazoo client

Ben Bangert 2012-08-30, 23:00
Ben Bangert 2012-08-30, 23:02
Michi Mutsuzaki 2012-08-30, 23:50
Ben Bangert 2012-08-31, 00:06
Henry Robinson 2012-08-31, 00:10
Ben Bangert 2012-08-31, 04:00
Ben Bangert 2012-08-31, 05:04
Henry Robinson 2012-08-31, 06:57
Copy link to this message
Re: Zookeeper protocol weirdness and pure Python kazoo client
On Aug 30, 2012, at 11:57 PM, Henry Robinson <[EMAIL PROTECTED]> wrote:

> I took a look, and kazoo seems really promising. Thanks for building it!
> Speaking as the guy who wrote 95% of the current Python bindings, I'll be
> delighted if they can be superseded by a better implementation.

It's not all mine, David LaBissoniere created the original version that I merged other Python zookeeper code-bases into for the recipes and other edge case handling.

> I just want to reiterate that everyone that works on ZooKeeper is a
> volunteer, and I believe that none of the active committers are paid to
> work on ZooKeeper full-time. That's not to completely abrogate
> responsibility - the zkpython JIRAs need a good clean-up and have done for
> a long time - but to make the broader point that the very best way to see
> the change that you want made is to engage with and become an active member
> of the community. Apache is all about community.

Yep, I totally understand that having run a few open-source projects myself. My time thus far on this has been thanks to my employer (Mozilla) for letting my coworker and I bring kazoo up to speed and ensure it'll meet our needs. We're pretty big on community at Mozilla, and unifying the Python clients was seen as a good thing to work on.

> That means filing JIRAs, submitting your changes as patches (generating C
> documentation would be a great patch) and badgering community members to
> review (and committers, eventually, to commit). It's not that 'we' don't
> care about the C client, it's that no-one is championing it enough at the
> moment. Anyone can become that champion, and they are strongly encouraged
> to do so.

Right, that's the problem. I'm not a C guy, and I don't want to be. :)
If I'm going to spend a ton of time getting up to speed on a language, I've been eyeing Rust and/or Go and would prefer those than C. Especially since anyone using the C lib will eventually end up with leaky C abstractions in their code. Such as the whole zhandle nonsense... its just not needed in a Python client, its a C artifact. And there's no shortage of bugs, errors, and sometimes even segfaults in higher level languages that bind back to the C lib as a result.

> I'd love to see kazoo get contributed back to Apache. Is that something
> you're interested in doing? I'm not sure we can wholesale replace the
> extant Python bindings because I know we have users that depend upon them -
> but that's a solvable problem, it's no great pain to include both in a
> release.

It probably depends on what that means. It's been incredibly convenient to be on github for the easy pull request merging and tracking other forks. It seems like the code in the zookeeper contrib/ tree has its release schedule tied to Zookeeper itself, which seems like a bad decision to me since it means that client releases are tied to Zookeeper releases rather than being able to quickly push out new client releases when important bug fixes have been applied. Perhaps that's not the case, it's not entirely clear to me.

Michi Mutsuzaki 2012-08-31, 21:30
Ted Dunning 2012-08-31, 20:02
Ben Bangert 2012-08-30, 23:35
Michi Mutsuzaki 2012-08-30, 23:37