liebke / zookeeper-clj

A Clojure DSL for Apache ZooKeeper
160 stars 24 forks source link

[Question] Still being maintained? #27

Open bsless opened 4 years ago

bsless commented 4 years ago

Hello, I was wondering if the project is still being maintained. New versions of zookeeper have been released with more capabilities (add watch, remove watch, etc.) Do you still take PRs for it?

Thanks

liebke commented 4 years ago

I'm happy to take a PR.

David

On Jul 8, 2020, at 4:04 PM, Ben Sless notifications@github.com wrote:

Hello, I was wondering if the project is still being maintained. New versions of zookeeper have been released with more capabilities (add watch, remove watch, etc.) Do you still take PRs for it?

Thanks

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/liebke/zookeeper-clj/issues/27, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAPIK2NZHMFR3M7PSC26OTR2TGODANCNFSM4OU5AP4A.

bsless commented 4 years ago

I thought of a few items, please let me know what you think

Would like to hear your thoughts on these, and how you'd like to manage them. Open issue per item and PR against them?

Ben

liebke commented 4 years ago

Hi Ben,

dependencies update remove :pedantic :abort or lower severity? search for missing type hints (add reflection warning on by default?) Documentation updates where necessary API changes due to new versions Optional: replace & {:keys } api with {:keys }. Friendlier for future composition. Add addWatch and removeWatch Add Transactions Possible naming changes for some functions (filter-nodes-by-pattern -> select-nodes?) Implement CAS Experimental: return reified refs from zk nodes Optional: datafy map-like data objects.

This is a great list.

Open issue per item and PR against them?

This sounds like a good approach; I think we've found a new maintainer for the project :)

David

bsless commented 4 years ago

Starting to open issues. Apologies for incoming flood

bsless commented 4 years ago

I'll probably start with the small ones during the week, take a swing at a bigger one on the weekend.

liebke commented 4 years ago

Thanks Ben, sounds great!

David

On Jul 13, 2020, at 11:42 AM, Ben Sless notifications@github.com wrote:

I'll probably start with the small ones during the week, take a swing at a bigger one on the weekend.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/liebke/zookeeper-clj/issues/27#issuecomment-657635649, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAPIKZAQ6OQTVYZDUQFH63R3MTO5ANCNFSM4OU5AP4A.

bsless commented 4 years ago

Just came across https://curator.apache.org/ "Apache Curator is a Java/JVM client library for Apache ZooKeeper, a distributed coordination service. It includes a highlevel API framework and utilities to make using Apache ZooKeeper much easier and more reliable. It also includes recipes for common use cases and extensions such as service discovery and a Java 8 asynchronous DSL."

What do you think about adding it instead of reinventing the wheel? pros: algorithms and recipes already implemented, validated and battle tested. cons: extra dependency, less cool

liebke commented 4 years ago

What specific functionality from Curator do you want to add to zookeeper-clj?

On Jul 16, 2020, at 3:45 PM, Ben Sless notifications@github.com wrote:

Just came across https://curator.apache.org/ https://curator.apache.org/ "Apache Curator is a Java/JVM client library for Apache ZooKeeper, a distributed coordination service. It includes a highlevel API framework and utilities to make using Apache ZooKeeper much easier and more reliable. It also includes recipes for common use cases and extensions such as service discovery and a Java 8 asynchronous DSL."

What do you think about adding it instead of reinventing the wheel? pros: algorithms and recipes already implemented, validated and battle tested. cons: extra dependency, less cool

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/liebke/zookeeper-clj/issues/27#issuecomment-659630252, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAPIK3IKY6DNPIWIZPOXYLR35KFTANCNFSM4OU5AP4A.

bsless commented 4 years ago

Just a few off the top of my head: DistributedAtomicValue, Distributed(Double)Barrier, Leader Election, distributed locks. It might belong as a sister project as the curator isn't very minimal, which will use zookeeper-clj as the low level api to deal with callbacks, data translations, etc.

liebke commented 4 years ago

Definitely interesting features, and I think you're right that it might make a good sister project, something like curator-clj.

On Jul 16, 2020, at 4:02 PM, Ben Sless notifications@github.com wrote:

Just a few off the top of my head: DistributedAtomicValue, Distributed(Double)Barrier, Leader Election, distributed locks. It might belong as a sister project as the curator isn't very minimal, which will use zookeeper-clj as the low level api to deal with callbacks, data translations, etc.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/liebke/zookeeper-clj/issues/27#issuecomment-659640614, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAPIK5I6ZO44LY7565DWWTR35MGBANCNFSM4OU5AP4A.

bsless commented 4 years ago

Awesome. I don't know how high it'll be on my priorities since my main interest is reaching reified atoms over zookeeper then plugging it in to something like Riak, but I'll put it on the agenda :)

bsless commented 4 years ago

Question regarding try*: I tried playing around with direct interop and didn't get clojure RuntimeExceptions, but the direct zookeeper exceptions. I don't see the exceptions getting wrapped. Was it perhaps related to older versions of Clojure? Trying to understand if try* is still necessary.

rborer commented 3 years ago

Hi, just happened to be looking at this issue which mention Apache Curator. I'm maintaining a (fork of) an Apache Curator wrapper in clojure here: https://github.com/rborer/curator . This is a fork of https://github.com/pingles/curator which seems unmaintained.

Maybe we could find synergies between the 2 projects?