zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Bangert <...@groovie.org>
Subject Re: Zookeeper protocol weirdness and pure Python kazoo client
Date Fri, 31 Aug 2012 16:39:58 GMT
On Aug 30, 2012, at 11:57 PM, Henry Robinson <henry@cloudera.com> 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.

View raw message