The Jute buffer size is a manual setting, so it wouldn't increase by itself. If 
you find that you have to keep increasing it's due to a few possibilities: 
ZNodes with lots of children (with long names). Any 1 ZooKeeper API call is 
limited by jute max buffer. So, if a call to getChildren() where there's a lot 
of children or lots of children with long names (or both) can bust jute max 
buffer. Another possibility is ZNodes with large payloads.

-JZ

> On Mar 8, 2019, at 7:21 PM, Asim Zafir <asim.za...@gmail.com> wrote:
> 
> 
> + ZK dev community. Please assist. 
> On Fri, Mar 8, 2019 at 4:10 PM Asim Zafir <asim.za...@gmail.com 
> <mailto:asim.za...@gmail.com>> wrote:
> Hi Jordon, 
> 
> We are seeing constance increase in jute buffer size on our zookeeper 
> instance. right now it is set to 128. We are primarily using zookeeper for 
> HBase cluster. I want to see what is contributing to the increase of jute 
> buffer size but so for after investigating the code and studying the protocol 
> itself it appear it is a function of number of watches that gets set on the 
> znodes. to see how many zookeeper watch objects are on zookeeper jvm 
> /instance I did a jmap history:live on zookeeper pid and I got the following 
> output (please see below). I am not sure what is [C, [B here and it doesn't 
> appear its refers to any class - I don't see this on dev instance of 
> zookeeper. due to suspect memory leak or another issue? Please guide me 
> through this as I can't find a resource who can go that far to give me any 
> hint as to what may be happening on my end. Also is it safe for ZK sizes to 
> increase that much? I will greatly appreciate your feedback and help on this.
> 
>  num     #instances         #bytes  class name
> ----------------------------------------------
>    1:        220810      140582448  [C
>    2:        109370       34857168  [B
>    3:        103842        7476624  org.apache.zookeeper.data.StatPersisted
>    4:        220703        5296872  java.lang.String
>    5:         28682        3783712  <constMethodKlass>
>    6:         28682        3681168  <methodKlass>
>    7:        111000        3552000  java.util.HashMap$Entry
>    8:        107569        3442208  
> java.util.concurrent.ConcurrentHashMap$HashEntry
>    9:        103842        3322944  org.apache.zookeeper.server.DataNode
>   10:          2655        3179640  <constantPoolKlass>
>   11:          2313        2017056  <constantPoolCacheKlass>
>   12:          2655        1842456  <instanceKlassKlass>
>   13:           318        1241568  
> [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;
>   14:          7526        1221504  [Ljava.util.HashMap$Entry;
>   15:          1820         812976  <methodDataKlass>
>   16:          8228         394944  java.util.HashMap
>   17:          2903         348432  java.lang.Class
>   18:          4077         229688  [S
>   19:          4138         221848  [[I
>   20:           231         125664  <objArrayKlassKlass>
>   21:          7796         124736  java.util.HashSet
>   22:          6771         108336  java.util.HashMap$KeySet
>   23:          1263          62968  [Ljava.lang.Object;
>   24:           746          59680  java.lang.reflect.Method
>   25:          3570          57120  java.lang.Object
>   26:           502          36144  org.apache.zookeeper.server.Request
>   27:           649          25960  java.lang.ref.SoftReference
>   28:           501          24048  org.apache.zookeeper.txn.TxnHeader
>   29:           188          21704  [I
>   30:           861          20664  java.lang.Long
>   31:           276          19872  java.lang.reflect.Constructor
>   32:           559          17888  
> java.util.concurrent.locks.ReentrantLock$NonfairSync
>   33:           422          16880  java.util.LinkedHashMap$Entry
>   34:           502          16064  
> org.apache.zookeeper.server.quorum.QuorumPacket
>   35:           455          14560  java.util.Hashtable$Entry
>   36:           495          14368  [Ljava.lang.String;
>   37:           318          12720  
> java.util.concurrent.ConcurrentHashMap$Segment
>   38:             3          12336  [Ljava.nio.ByteBuffer;
>   39:           514          12336  javax.management.ObjectName$Property
>   40:           505          12120  java.util.LinkedList$Node
>   41:           501          12024  
> org.apache.zookeeper.server.quorum.Leader$Proposal
>   42:           619          11920  [Ljava.lang.Class;
>   43:            74          11840  org.apache.zookeeper.server.NIOServerCnxn
>   44:           145          11672  [Ljava.util.Hashtable$Entry;
>   45:           729          11664  java.lang.Integer
>   46:           346          11072  java.lang.ref.WeakReference
>   47:           449          10776  org.apache.zookeeper.txn.SetDataTxn
>   48:           156           9984  
> com.cloudera.cmf.event.shaded.org.apache.avro.Schema$Props
>   49:           266           8512  java.util.Vector
>   50:            75           8400  sun.nio.ch.SocketChannelImpl
>   51:           175           8400  java.nio.HeapByteBuffer
>   52:           247           8320  [Ljavax.management.ObjectName$Property;
>   53:           303           7272  com.cloudera.cmf.event.EventCode
>   54:           300           7200  java.util.ArrayList
>   55:           136           6528  java.util.Hashtable
>   56:           156           6240  java.util.WeakHashMap$Entry
>   57:           194           6208  com.sun.jmx.mbeanserver.ConvertingMethod

Reply via email to