forked from docs/doc-exports
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Yang, Tong <yangtong2@huawei.com> Co-committed-by: Yang, Tong <yangtong2@huawei.com>
81 lines
7.8 KiB
HTML
81 lines
7.8 KiB
HTML
<a name="mrs_01_2109"></a><a name="mrs_01_2109"></a>
|
|
|
|
<h1 class="topictitle1">Why Does the ZooKeeper Server Display the java.io.IOException: Len Error Log?</h1>
|
|
<div id="body1595905686228"><div class="section" id="mrs_01_2109__sf6396fde3a464cf5ab3c09fd414c1c53"><h4 class="sectiontitle">Question</h4><p id="mrs_01_2109__a28f6578decb84ac58d32560cce2cbd92">After a large number of znodes are created in a parent directory, the ZooKeeper client will fail to fetch all child nodes of this parent directory in a single request.</p>
|
|
<p id="mrs_01_2109__a5256f9a188d845babab990273755135d">Logs of client:</p>
|
|
<pre class="screen" id="mrs_01_2109__s5f51b6466d1f4dc588902e2343debd43">2017-07-11 13:17:19,610 [myid:] - WARN [New I/O worker #3:ClientCnxnSocketNetty$ZKClientHandler@468] - Exception caught: [id: 0xb66cbb85, /10.18.97.97:49192 :> 10.18.97.97/10.18.97.97:2181] EXCEPTION: java.nio.channels.ClosedChannelException
|
|
java.nio.channels.ClosedChannelException
|
|
at org.jboss.netty.handler.ssl.SslHandler$6.run(SslHandler.java:1580)
|
|
at org.jboss.netty.channel.socket.ChannelRunnableWrapper.run(ChannelRunnableWrapper.java:40)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.executeInIoThread(AbstractNioWorker.java:71)
|
|
at org.jboss.netty.channel.socket.nio.NioWorker.executeInIoThread(NioWorker.java:36)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.executeInIoThread(AbstractNioWorker.java:57)
|
|
at org.jboss.netty.channel.socket.nio.NioWorker.executeInIoThread(NioWorker.java:36)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioChannelSink.execute(AbstractNioChannelSink.java:34)
|
|
at org.jboss.netty.handler.ssl.SslHandler.channelClosed(SslHandler.java:1566)
|
|
at org.jboss.netty.channel.Channels.fireChannelClosed(Channels.java:468
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:376)
|
|
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:93)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
|
|
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
|
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
|
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
|
|
at java.lang.Thread.run(Thread.java:745)</pre>
|
|
<p id="mrs_01_2109__a6fb421df1575485cbcd2b307ce37da38">Logs of leader:</p>
|
|
<pre class="screen" id="mrs_01_2109__s18416e5a4329449796b6c848085bc815">2017-07-11 13:17:33,043 [myid:1] - WARN [New I/O worker #7:NettyServerCnxn@445] - Closing connection to /10.18.101.110:39856
|
|
java.io.IOException: Len error 45
|
|
at org.apache.zookeeper.server.NettyServerCnxn.receiveMessage(NettyServerCnxn.java:438)
|
|
at org.apache.zookeeper.server.NettyServerCnxnFactory$CnxnChannelHandler.processMessage(NettyServerCnxnFactory.java:267)
|
|
at org.apache.zookeeper.server.NettyServerCnxnFactory$CnxnChannelHandler.messageReceived(NettyServerCnxnFactory.java:187)
|
|
at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
|
|
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
|
|
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
|
|
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
|
|
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
|
|
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
|
|
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
|
|
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
|
|
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
|
|
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
|
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
|
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
|
|
at java.lang.Thread.run(Thread.java:745)</pre>
|
|
</div>
|
|
<div class="section" id="mrs_01_2109__s5f512079be1941738261c2ace8c60e07"><h4 class="sectiontitle">Answer</h4><p id="mrs_01_2109__a7ab5552421c74415b481aed89bed2e74">After a large number of znodes are created in a single parent directory and the client tries to fetch all the child znodes in a single request, the server will fail to return because the results exceed the data size that can be stored in a znode.</p>
|
|
<p id="mrs_01_2109__a973dd7c2837041bcb9bd9ff86cfd2f61">To avoid this problem, set <span class="parmname" id="mrs_01_2109__p1a7e9d6740d84d3ebad391be8f96b1af"><b>jute.maxbuffer</b></span> to a larger value based on the client application.</p>
|
|
<p id="mrs_01_2109__addb5487bf74748adade01a9ff49a9905"><span class="parmname" id="mrs_01_2109__pc0d6b0e8d9174ddfb498585b5826b5b6"><b>jute.maxbuffer</b></span> can only be set to a Java system property without the Zookeeper prefix. To set <span class="parmname" id="mrs_01_2109__pd54c5d6dde40478b8faf8adacf435a15"><b>jute.maxbuffer</b></span> to <em id="mrs_01_2109__i108828893193328">X</em>, set <strong id="mrs_01_2109__b41061696693328">Djute.maxbuffer</strong> to <em id="mrs_01_2109__i183060408193328">X</em> when starting the ZooKeeper client or the service.</p>
|
|
<p id="mrs_01_2109__aa64d32630bdc473a8b947e76402242ee">For example, set the parameter to 4 MB: <strong id="mrs_01_2109__b174512302793328">-Djute.maxbuffer=0x400000</strong>.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="mrs_01_2109__tf32581cc15914eeb904d85050ee52023" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Parameters</caption><thead align="left"><tr id="mrs_01_2109__rf0700f0eab524337bb068029d5be8727"><th align="left" class="cellrowborder" valign="top" width="20.47%" id="mcps1.3.2.6.2.4.1.1"><p id="mrs_01_2109__ad935d94f183745fcbf65063fbcb98eb4"><strong id="mrs_01_2109__a24d54488706c4c2986f56e1bce485826">Parameter</strong></p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="58.120000000000005%" id="mcps1.3.2.6.2.4.1.2"><p id="mrs_01_2109__af3812fe64cdb4811b237d640e0c8f7df"><strong id="mrs_01_2109__a5a8ac8903b474f54a7e7ce4447e6c343">Description</strong></p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21.41%" id="mcps1.3.2.6.2.4.1.3"><p id="mrs_01_2109__a47cbe5ee9a294c37a9798505af6e9283"><strong id="mrs_01_2109__ab69e9e56b24242e89c02210f35c3d2e3">Default Value</strong></p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="mrs_01_2109__r7008aa5d8c074f13baff51fa5e9bb310"><td class="cellrowborder" valign="top" width="20.47%" headers="mcps1.3.2.6.2.4.1.1 "><p id="mrs_01_2109__a1ad4efdbc7ed4ec9aefa78313a173472">jute.maxbuffer</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="58.120000000000005%" headers="mcps1.3.2.6.2.4.1.2 "><p id="mrs_01_2109__a48657722d0d24ffd8c911ee517df6bbf">Specifies the maximum length of data that can be stored in znode. The unit is byte. Default value: 0xfffff, which is less than 1 MB.</p>
|
|
<div class="note" id="mrs_01_2109__nbaa193dd733543f9a166dbdacb357eac"><span class="notetitle"> NOTE: </span><div class="notebody"><p id="mrs_01_2109__a8c015599af634bd383da887fa2fe32bc">If this option is changed, the system property must be set on all servers and clients, otherwise problems will arise.</p>
|
|
</div></div>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21.41%" headers="mcps1.3.2.6.2.4.1.3 "><p id="mrs_01_2109__ad4267b89000846158d4ee546cc4efaed">0xfffff</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="mrs_01_2107.html">Common Issues About ZooKeeper</a></div>
|
|
</div>
|
|
</div>
|
|
|