because of some misoperation, the data on the Znode node is too large, more than the length, when the LS or RMR will be error
probably like the following image:
Packet len4807928 is out of range
There are such articles on the outside Web:
Https://stackoverflow.com/questions/10249579/zookeeper-cli-failing-ioexception-packet-len12343123123-is-out-of-range
This is the source code of zookeeper:
707 void Readlength () throws IOException {
708 int len = Incomingbuffer.getint ();
709 if (Len < 0 | | Len >= packetlen) {
710 throw new IOException ("Packet len" + len + "is out of range! ");
711 }
712 incomingbuffer = bytebuffer.allocate (len);
713 }
And there are solutions to the article in the outer web:
7 Down vote |
I was able to work around this by increasing the max size of my listing call. I added the "-djute.maxbuffer=50111000" to my zkcli.sh script so, it started the client using the following line: $JAVA "-dzookeeper.log.dir=${zoo_log_dir}" "-dzookeeper.root.logger=${zoo_log4j_prop}" \
"-djute.maxbuffer= 49107800 "-CP" $CLASSPATH "$CLIENT _jvmflags $JVMFLAGS \
org.apache.zookeeper.ZooKeeperMain" $@ "
I was then able to list & use Rmr/big/node |
It's about adding in your zkcli.sh.
The "-djute.maxbuffer=50111000" line is equivalent to increasing his maximum capacity and then deleting or LS viewing your node.
7 down vote |
I am able to work around this by increasing the max size of my listing call. I added the "-djute.maxbuffer=50111000" to my zkcli.sh script so it started the client using the following Li NE: $JAVA "-dzookeeper.log.dir=${zoo_log_dir}" "-dzookeeper.root.logger=${zoo_log4j_prop}" \ "-djute.maxbuffer= 49107800 "-CP" $CLASSPATH "$CLIENT _jvmflags $JVMFLAGS \ Org.apache.zookeeper.ZooKeeperMain" $@ " I was then ABL E to list & use Rmr/big/node |