Yeah, unfortunately, I don't think we make use of the protocol version in 
ConnectRequest and Response. When we instantiate ConnectRequest in ClientCnxn, 
we simply set it to zero. 

-Flavio

> On 04 Oct 2016, at 16:21, Mohammad arshad <mohammad.ars...@huawei.com> wrote:
> 
> Thanks Benjamin Reed,
> Client protocol version is 0, it is not changed. Also there is no logic 
> executed at the server side based on the client protocol version. Increasing 
> the client protocol version and converting the errors at server may be the 
> ideal and more precise solution but to handle it in a generic way can we 
> convert the unknown error to KeeperException.SystemErrorException at client 
> side? Do you foresee any problem in this solution? 
> 
> Thanks
> -Arshad
> 
> 
> -----Original Message-----
> From: Benjamin Reed [mailto:br...@apache.org] 
> Sent: 04 October 2016 10:27
> To: u...@zookeeper.apache.org
> Cc: DevZooKeeper
> Subject: Re: ZooKeeper clients does not handle new error codes properly
> 
> did we bump the protocol version when we added the new errors? the server 
> could do the conversion when it responds to older clients.
> 
> On Mon, Oct 3, 2016 at 3:05 AM, Flavio Junqueira <f...@apache.org> wrote:
> 
>> Hi Arshad,
>> 
>> It makes sense to me. What if we convert unknown server errors to 
>> KeeperException.SystemErrorException? This is a generic error and it 
>> extends KeeperException.
>> 
>> I don't see it as a big issue to make this change, but others may feel 
>> differently. If we do it, then we will need a release note pointing 
>> out the change of behavior.
>> 
>> -Flavio
>> 
>>> On 03 Oct 2016, at 08:54, Mohammad arshad 
>>> <mohammad.ars...@huawei.com>
>> wrote:
>>> 
>>> Hi All,
>>> In Zookeeper rolling upgrade scenario where server is new but client 
>>> is
>> old, when sever sends error code which is not understood by a client, 
>> client throws IllegalArgumentException. Generally 
>> IllegalArgumentException is not handled by any of the ZK applications. 
>> It is too generic. How to handle this scenario in ZK applications?
>>> My understanding is instead of throwing IllegalArgumentException we
>> should throw a subclass of KeeperException, for example 
>> InvalidErrorCodeException, so that zk apps can take more specific action.
>>> Any thoughts?
>>> 
>>> Thanks
>>> -Arshad
>>> 
>> 
>> 

Reply via email to