Thawan Kooburat created ZOOKEEPER-1644:
------------------------------------------

             Summary: Add support for compressed SetWatches packet
                 Key: ZOOKEEPER-1644
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1644
             Project: ZooKeeper
          Issue Type: Improvement
          Components: c client, java client, server
            Reporter: Thawan Kooburat


On reconnect with a server to restore its session, a client have to send all 
watched paths via SetWatches packet to the server. This can be potentially 
large and exceeded server-side buffer (jute.maxbuffer) causing the session to 
fail. We have 2 concerns.

1. We can increase jute.maxbuffer to arbitrarily size as a simple workaround, 
but, in our use case, the number of watch is going to keep growing

2. If a large number of clients get disconnected at once, the server may 
receive a large amount data over network because of the flood of SetWatches 
packet. 

In our case, the watch paths should by highly compressible. So our current plan 
is to add a new type of request which is a compressed set watch request. It 
should be possible to support multiple compression schemes. We are probably 
going to use snappy compression but may add support for gzip as a default to 
minimize external dependency requirement.  

Feel free to comment if you have any suggestion.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to