2016-02-02 30 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的數據量不大,但有足夠的子級,以至於其路徑長度超過了最大緩衝區大小,您也會得到該錯誤。