2016-02-02 28 views
1

此值是否仅影响传入流量?如果我在zookeeper服务器和zookeeper客户端上设置这个值为4MB,并启动我的客户端,那么当我请求路径/abc/asyncMultiMap/subs时,仍然会获得大于4MB的数据。如果/subs的数据大于4MB,服务器将把它分成块< = 4MB,并将其分段发送给客户端?jute.maxbuffer仅影响传入流量

我在客户端(通过vertx-zookeeper)和服务器上都使用zookeeper 3.4.6。我在客户端发现错误,指出数据包长度大于4MB。

java.io.IOException: Packet len4194374 is out of range! 
    at org.apache.zookeeper.ClientCnxnSocket.readLength(ClientCnxnSocket.java:112) ~[zookeeper-3.4.6.jar:3.4.6-1569965] 

回答

0

响应中没有分块。

这是服务器端设置。如果整个响应大于jute.maxbuffer设置,则会出现此错误。此响应限制还包括znodes的子级列表,即使subs的数据量不大,但有足够的子级,以至于其路径长度超过了最大缓冲区大小,您也会得到该错误。