[
https://issues.apache.org/jira/browse/ZOOKEEPER-3593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17056600#comment-17056600
]
H Lu commented on ZOOKEEPER-3593:
---------------------------------
Hello [~maoling], [~hudson] and [~enixon],
I have a question about this fix. Would it change the original behavior as the
default length limit is reduced from 4 MB to 1 MB? For example, I have 10K
children under a path and the packet length is 2 MB. With the old default
length 4 MB, there is no problem for the client to get the packet. But with
this change, the client would get **java.io.IOException: Packet len 2 MB is
out of range!**. Is it correct?
If I misunderstand it, please correct me. Thanks a lot!
-Lu
> fix the default value of jute.maxbuffer in client side and an optimization
> for the documentation
> ------------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-3593
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3593
> Project: ZooKeeper
> Issue Type: Improvement
> Affects Versions: 3.6.0, 3.5.5, 3.5.6
> Reporter: maoling
> Assignee: maoling
> Priority: Minor
> Labels: pull-request-available
> Fix For: 3.6.0
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
>
> {code:java}
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client
> environment:java.io.tmpdir=/var/folders/kj/092gpj_s2hvdgx77c9ghqdv00000gp/T/
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client environment:java.compiler=<NA>
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client environment:os.name=Mac OS X
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client environment:os.arch=x86_64
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client environment:os.version=10.13.6
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client environment:user.name=wenba
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client
> environment:user.home=/Users/wenba
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client
> environment:user.dir=/Users/wenba/workspaces/workspace_learning/YCSB
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client
> environment:os.memory.free=234MB
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client
> environment:os.memory.max=3641MB
> 2019-10-27 18:08:41 INFO ZooKeeper:109 - Client
> environment:os.memory.total=245MB
> 2019-10-27 18:08:41 INFO ZooKeeper:868 - Initiating client connection,
> connectString=127.0.0.1:2180/bm sessionTimeout=30000
> watcher=site.ycsb.db.zookeeper.ZKClient$SimpleWatcher@4b506000
> 2019-10-27 18:08:41 INFO X509Util:79 - Setting -D
> jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated
> TLS renegotiation
> 2019-10-27 18:08:41 INFO ClientCnxnSocket:237 - jute.maxbuffer value is
> 4194304 Bytes
> FAILED: Count=6, Max=106559, Min=99392, Avg=103157.33, 90=105791, 99=106559,
> 99.9=106559, 99.99=106559]FAILED: Count=6, Max=106559, Min=99392,
> Avg=103157.33, 90=105791, 99=106559, 99.9=106559, 99.99=106559]2019-10-27
> 18:08:51 INFO ClientCnxn:1112 - Opening socket connection to server
> localhost/127.0.0.1:2180. Will not attempt to authenticate using SASL
> (unknown error)2019-10-27 18:08:51 INFO ClientCnxn:959 - Socket connection
> established, initiating session, client: /127.0.0.1:51795, server:
> localhost/127.0.0.1:21802019-10-27 18:08:51 INFO ClientCnxn:1394 - Session
> establishment complete on server localhost/127.0.0.1:2180, sessionid =
> 0x1000c6e0658000a, negotiated timeout = 300002019-10-27 18:08:51 WARN
> ClientCnxn:1246 - Session 0x1000c6e0658000a for server
> localhost/127.0.0.1:2180, unexpected error, closing socket connection and
> attempting reconnectjava.io.IOException: Unreasonable length = 1073590 at
> org.apache.jute.BinaryInputArchive.checkLength(BinaryInputArchive.java:127)
> at org.apache.jute.BinaryInputArchive.readBuffer(BinaryInputArchive.java:92)
> at
> org.apache.zookeeper.proto.GetDataResponse.deserialize(GetDataResponse.java:56)
> at
> org.apache.zookeeper.ClientCnxn$SendThread.readResponse(ClientCnxn.java:919)
> at
> org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:101)
> at
> org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:363)
> at
> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1223)2019-10-27
> 18:08:51 ERROR ZKClient:128 - Error when reading a
> path:/user5344789772525948776,tableName:usertableorg.apache.zookeeper.KeeperException$ConnectionLossException:
> KeeperErrorCode = ConnectionLoss for /user5344789772525948776
> {code}
>
>
> From the log I saw *jute.maxbuffer* in my client side is 4194304 Bytes, but
> I cannot read a znode which is almost 1MB
--
This message was sent by Atlassian Jira
(v8.3.4#803005)