[jira] [Commented] (ZOOKEEPER-3129) Improve ZK Client resiliency by throwing a jute.maxbuffer size exception before sending a request to server

2018-09-07 Thread Karan Mehta (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16606731#comment-16606731
 ] 

Karan Mehta commented on ZOOKEEPER-3129:


Yes, a new property only for client side.

> Improve ZK Client resiliency by throwing a jute.maxbuffer size exception 
> before sending a request to server
> ---
>
> Key: ZOOKEEPER-3129
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3129
> Project: ZooKeeper
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Priority: Major
>
> Zookeeper is mostly operated in controlled environments and the client/server 
> properties are usually known. With this Jira, I would like to propose a new 
> property on client side that represents the max jute buffer size server is 
> going to accept.
> On the ZKClient, in case of multi Op, the request is serialized and hence we 
> know the size of complete packet that will be sent. We can use this new 
> property to determine if the we are exceeding the limit and throw some form 
> of KeeperException. This would be fail fast mechanism and the application can 
> potentially retry by chunking up the request or serializing.
> Since the same properties are now present in two locations, over time, two 
> possibilities can happen.
> -- Server jutebuffer accepts value is more than what is specified on client 
> side
> The application might end up serializing it or zkclient can be made 
> configurable to retry even when it gets this exception
> -- Server jutebuffer accepts value is lower than what is specified on client 
> side
> That would have failed previously as well, so there is no change in behavior
> This would help silent failures like HBASE-18549 getting avoided. 
> Thoughts [~apurtell] [~xucang] [~anmolnar] [~hanm]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ZOOKEEPER-3129) Improve ZK Client resiliency by throwing a jute.maxbuffer size exception before sending a request to server

2018-09-06 Thread Michael Han (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16606608#comment-16606608
 ] 

Michael Han commented on ZOOKEEPER-3129:


I think it's a good ida. I am leaning towards using a new property for this. I 
think this will be a client only property, correct? 

> Improve ZK Client resiliency by throwing a jute.maxbuffer size exception 
> before sending a request to server
> ---
>
> Key: ZOOKEEPER-3129
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3129
> Project: ZooKeeper
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Priority: Major
>
> Zookeeper is mostly operated in controlled environments and the client/server 
> properties are usually known. With this Jira, I would like to propose a new 
> property on client side that represents the max jute buffer size server is 
> going to accept.
> On the ZKClient, in case of multi Op, the request is serialized and hence we 
> know the size of complete packet that will be sent. We can use this new 
> property to determine if the we are exceeding the limit and throw some form 
> of KeeperException. This would be fail fast mechanism and the application can 
> potentially retry by chunking up the request or serializing.
> Since the same properties are now present in two locations, over time, two 
> possibilities can happen.
> -- Server jutebuffer accepts value is more than what is specified on client 
> side
> The application might end up serializing it or zkclient can be made 
> configurable to retry even when it gets this exception
> -- Server jutebuffer accepts value is lower than what is specified on client 
> side
> That would have failed previously as well, so there is no change in behavior
> This would help silent failures like HBASE-18549 getting avoided. 
> Thoughts [~apurtell] [~xucang] [~anmolnar] [~hanm]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ZOOKEEPER-3129) Improve ZK Client resiliency by throwing a jute.maxbuffer size exception before sending a request to server

2018-09-05 Thread Karan Mehta (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16605005#comment-16605005
 ] 

Karan Mehta commented on ZOOKEEPER-3129:


Thoughts anyone?

> Improve ZK Client resiliency by throwing a jute.maxbuffer size exception 
> before sending a request to server
> ---
>
> Key: ZOOKEEPER-3129
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3129
> Project: ZooKeeper
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Priority: Major
>
> Zookeeper is mostly operated in controlled environments and the client/server 
> properties are usually known. With this Jira, I would like to propose a new 
> property on client side that represents the max jute buffer size server is 
> going to accept.
> On the ZKClient, in case of multi Op, the request is serialized and hence we 
> know the size of complete packet that will be sent. We can use this new 
> property to determine if the we are exceeding the limit and throw some form 
> of KeeperException. This would be fail fast mechanism and the application can 
> potentially retry by chunking up the request or serializing.
> Since the same properties are now present in two locations, over time, two 
> possibilities can happen.
> -- Server jutebuffer accepts value is more than what is specified on client 
> side
> The application might end up serializing it or zkclient can be made 
> configurable to retry even when it gets this exception
> -- Server jutebuffer accepts value is lower than what is specified on client 
> side
> That would have failed previously as well, so there is no change in behavior
> This would help silent failures like HBASE-18549 getting avoided. 
> Thoughts [~apurtell] [~xucang] [~anmolnar] [~hanm]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ZOOKEEPER-3129) Improve ZK Client resiliency by throwing a jute.maxbuffer size exception before sending a request to server

2018-08-29 Thread Karan Mehta (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16596024#comment-16596024
 ] 

Karan Mehta commented on ZOOKEEPER-3129:


I can put up a patch if people are interested here.

 

> Improve ZK Client resiliency by throwing a jute.maxbuffer size exception 
> before sending a request to server
> ---
>
> Key: ZOOKEEPER-3129
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3129
> Project: ZooKeeper
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Priority: Major
>
> Zookeeper is mostly operated in controlled environments and the client/server 
> properties are usually known. With this Jira, I would like to propose a new 
> property on client side that represents the max jute buffer size server is 
> going to accept.
> On the ZKClient, in case of multi Op, the request is serialized and hence we 
> know the size of complete packet that will be sent. We can use this new 
> property to determine if the we are exceeding the limit and throw some form 
> of KeeperException. This would be fail fast mechanism and the application can 
> potentially retry by chunking up the request or serializing.
> Since the same properties are now present in two locations, over time, two 
> possibilities can happen.
> -- Server jutebuffer accepts value is more than what is specified on client 
> side
> The application might end up serializing it or zkclient can be made 
> configurable to retry even when it gets this exception
> -- Server jutebuffer accepts value is lower than what is specified on client 
> side
> That would have failed previously as well, so there is no change in behavior
> This would help silent failures like HBASE-18549 getting avoided. 
> Thoughts [~apurtell] [~xucang] [~anmolnar] [~hanm]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ZOOKEEPER-3129) Improve ZK Client resiliency by throwing a jute.maxbuffer size exception before sending a request to server

2018-08-28 Thread Karan Mehta (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16594574#comment-16594574
 ] 

Karan Mehta commented on ZOOKEEPER-3129:


We can either use the same property or define a new one. The pros is that we 
can set different values for both. The cons include one more property 
management overhead. 

The current property is used for calculating the length of inbound traffic 
whereas the new property will be for outbound packet length. 

> Improve ZK Client resiliency by throwing a jute.maxbuffer size exception 
> before sending a request to server
> ---
>
> Key: ZOOKEEPER-3129
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3129
> Project: ZooKeeper
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Priority: Major
>
> Zookeeper is mostly operated in controlled environments and the client/server 
> properties are usually known. With this Jira, I would like to propose a new 
> property on client side that represents the max jute buffer size server is 
> going to accept.
> On the ZKClient, in case of multi Op, the request is serialized and hence we 
> know the size of complete packet that will be sent. We can use this new 
> property to determine if the we are exceeding the limit and throw some form 
> of KeeperException. This would be fail fast mechanism and the application can 
> potentially retry by chunking up the request or serializing.
> Since the same properties are now present in two locations, over time, two 
> possibilities can happen.
> -- Server jutebuffer accepts value is more than what is specified on client 
> side
> The application might end up serializing it or zkclient can be made 
> configurable to retry even when it gets this exception
> -- Server jutebuffer accepts value is lower than what is specified on client 
> side
> That would have failed previously as well, so there is no change in behavior
> This would help silent failures like HBASE-18549 getting avoided. 
> Thoughts [~apurtell] [~xucang] [~anmolnar] [~hanm]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ZOOKEEPER-3129) Improve ZK Client resiliency by throwing a jute.maxbuffer size exception before sending a request to server

2018-08-28 Thread Michael Han (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16594570#comment-16594570
 ] 

Michael Han commented on ZOOKEEPER-3129:


We already have jute.maxbuffer property for client side (and server side). 
Would this property fit the needs here?

> Improve ZK Client resiliency by throwing a jute.maxbuffer size exception 
> before sending a request to server
> ---
>
> Key: ZOOKEEPER-3129
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3129
> Project: ZooKeeper
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Priority: Major
>
> Zookeeper is mostly operated in controlled environments and the client/server 
> properties are usually known. With this Jira, I would like to propose a new 
> property on client side that represents the max jute buffer size server is 
> going to accept.
> On the ZKClient, in case of multi Op, the request is serialized and hence we 
> know the size of complete packet that will be sent. We can use this new 
> property to determine if the we are exceeding the limit and throw some form 
> of KeeperException. This would be fail fast mechanism and the application can 
> potentially retry by chunking up the request or serializing.
> Since the same properties are now present in two locations, over time, two 
> possibilities can happen.
> -- Server jutebuffer accepts value is more than what is specified on client 
> side
> The application might end up serializing it or zkclient can be made 
> configurable to retry even when it gets this exception
> -- Server jutebuffer accepts value is lower than what is specified on client 
> side
> That would have failed previously as well, so there is no change in behavior
> This would help silent failures like HBASE-18549 getting avoided. 
> Thoughts [~apurtell] [~xucang] [~anmolnar] [~hanm]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)