Laurent Goujon created CURATOR-704:
--------------------------------------

             Summary: Use server version to detect supported features
                 Key: CURATOR-704
                 URL: https://issues.apache.org/jira/browse/CURATOR-704
             Project: Apache Curator
          Issue Type: Improvement
          Components: Client
    Affects Versions: 5.6.0
            Reporter: Laurent Goujon


According to documentation Curator is compatible with ZooKeeper 3.5 and higher, 
but feature detection is based on the version of the ZooKeeper client shipped 
with Curator, not based on the actual version of the server the client is 
connected to. Ideally it should be based on both.

 

As ZooKeeper client is backward compatible with older servers (see 
[https://zookeeper.apache.org/releases.html]   `ZooKeeper 3.9.x clients are 
compatible with 3.5.x, 3.6.x, 3.7.x and 3.8.x servers as long as you are not 
using new APIs not present these versions.`), applications using the zookeeper 
client will use a possibly more recent version for bugfix/security reasons 
while the server (which is not controlled by the application) may still be on 
an older version. This is a frequent scenario for application developed for 
Hadoop environment with Cloudera installations still based on ZK 3.5.5.

As a solution, it should be possible to instruct curator client/framework to 
specify a baseline zookeeper version (better would be to detect the remote 
version and adjust) and to disable unavailable features even if supported by 
the ZooKeeper client



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to