there should be some process / script that is sending malformed packages to the ZooKeeper client port.
The first 4 bytes sent by the client is interpreted as the length of the message (or as a 4 letter word command), but ZooKeeper is unable to parse this. (most probably it is not a real ZooKeeper message, unless the client really wants to send ~370MB in a single message) Sometimes what happens is that some security scanners are periodically checking the ZooKeeper client port. Or maybe some misconfigured client is trying to connect using TLS/SSL to an unsecure ZooKeeper port, that doesn't expect an SSL handshake? Best Regards, Mate On Tue, Aug 25, 2020 at 8:25 AM Dhirendra Singh <[email protected]> wrote: > I have setup zookeeper ensemble with quorum size of 3 in kubernetes. > zookeeper version i am using is 3.6.1 > i see following warning message logged in the log approximately every 4 > seconds in the log of all zookeeper server. what is the cause of these > warning messages ? > > 2020-08-25 05:17:40,265 [myid:1] - WARN > [NIOWorkerThread-2:NIOServerCnxn@373] - Close of session 0x0 > java.io.IOException: Len error 369295618 > at > > org.apache.zookeeper.server.NIOServerCnxn.readLength(NIOServerCnxn.java:541) > at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:332) > at > > org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:522) > at > > org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:154) > at > > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at java.base/java.lang.Thread.run(Thread.java:834) > > -dsingh >
