Dear All,

I am getting the below mentioned exception on Client side while inserting data.

   *Exception in thread "Thrift Connection Pool Checker"
   java.lang.OutOfMemoryError: GC overhead limit exceeded*
   *ERROR - TabletServerBatchWriter.updateUnknownErrors(520) - Failed
   to send tablet server orkash1:9997 its batch : GC overhead limit
   exceeded*
   ***java.lang.OutOfMemoryError: GC overhead limit exceeded*
   ***ERROR - ClientCnxn$1.uncaughtException(414) -  from
   main-SendThread(orkash2:2181)*
   ***java.lang.OutOfMemoryError: GC overhead limit exceeded*


This exception comes after few days of ingestion started. I already have assigned the appropriate memory to all components. I have a 3 node cluster with Accumulo 1.7.0 and Hadoop 2.7.0 ( RAM 32 GB each). Accumulo masters, namenodes runs on different servers.
_*
Accumulo-env.sh*_
ACCUMULO_TSERVER_OPTS="${POLICY} -Xmx8g -Xms3g -XX:NewSize=500m -XX:MaxNewSize=500m "
ACCUMULO_MASTER_OPTS="${POLICY} -Xmx1g -Xms1g"
ACCUMULO_MONITOR_OPTS="${POLICY} -Xmx1g -Xms256m"
ACCUMULO_GC_OPTS="-Xmx512m -Xms256m"
ACCUMULO_GENERAL_OPTS="-XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3 -XX:CMSInitiatingOccupancyFraction=75 -Djava.net.preferIPv4Stack=true"
_*
Accumulo-site.xml*_
  <property>
    <name>tserver.memory.maps.max</name>
    <value>2G</value>
  </property>
  <property>
    <name>tserver.memory.maps.native.enabled</name>
    <value>true</value>
  </property>
  <property>
    <name>tserver.cache.data.size</name>
    <value>2G</value>
  </property>
  <property>
    <name>tserver.cache.index.size</name>
    <value>1G</value>
  </property>
<property>
    <name>tserver.sort.buffer.size</name>
    <value>500M</value>
  </property>
  <property>
    <name>tserver.walog.max.size</name>
    <value>1G</value>
  </property>


I found that even after setting individual memory limits servers are utilizing its almost full memory(up to 21 GB cached). I am not running any other application on these server only Accumulo and Hadoop is deployed. why the server caching a lot of data(21 GB)

When I scanned the logs. I found another exception in Accumulo tserver logs

   /*org.apache.thrift.TException: No Such SessionID*/
   /**//*        at
   org.apache.accumulo.server.rpc.RpcWrapper$1.invoke(RpcWrapper.java:51)*/
   /**//*        at com.sun.proxy.$Proxy20.applyUpdates(Unknown Source)*/
   /**//*        at
   
org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$applyUpdates.getResult(TabletClientService.java:2425)*/
   /**//*        at
   
org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$applyUpdates.getResult(TabletClientService.java:2411)*/
   /**//*        at
   org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)*/
   /**//*        at
   org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)*/
   /**//*        at
   
org.apache.accumulo.server.rpc.TimedProcessor.process(TimedProcessor.java:63)*/
   /**//*        at
   
org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516)*/
   /**//*        at
   
org.apache.accumulo.server.rpc.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:78)*/
   /**//*        at
   
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)*/
   /**//*        at
   
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)*/
   /**//*        at
   org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)*/
   /**//*        at java.lang.Thread.run(Thread.java:745)*/

//

Thanks & Regards
Mohit Kaushik
Signature

**//

Reply via email to