zookeeper icon indicating copy to clipboard operation
zookeeper copied to clipboard

ZOOKEEPER-4905: Use create2 only when required

Open jjtt opened this issue 10 months ago • 0 comments

If the client is not requesting stat, then the basic create operation is enough.

This makes the client library compatible with servers that do not implement all ZooKeeper protocol features. Concretely, ClickHouse Keeper does not implement create2.

See:

  • https://github.com/ClickHouse/ClickHouse/issues/55595#issuecomment-2138066919

Background

I was testing if an application that uses Apache Curator to talk to a ZooKeeper could work with a ClickHouse Keeper instead. This would avoid having to run both ZooKeeper and ClickHouse Keeper in our environment.

With a patch like this I was able to get things to work and I couldn't find any other way to instruct the client library to avoid using create2.

This is mostly a compatibility issue with a third party, so arguably should be fixed there, but since I'm much more familiar with Java than C++ I thought I'd try changing the client library here.

I'm hoping someone more familiar with the codebase can take a look and comment if this is sensible or not.

jjtt avatar Mar 05 '25 11:03 jjtt