out of memory when pushing large number of flows

asked 2016-03-04 10:57:39 -0700

ashishvarma77 gravatar image

Hi, I am using the Beryllium release and the REST api to push in large number of flows. (~200K).

After around ~70K flow, I get the following exception. I had tweaked the following parameters in "karaf" script but still getting the exception.

JAVAMAXMEM = 3096M

Any help would be greatly appreciated.

opendaylight-user@root>Exception in thread "AsyncAppender-Dispatcher-Thread-4" java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.Arrays.copyOfRange(Arrays.java:2694) at java.lang.String.<init>(String.java:203) at java.lang.StringBuffer.toString(StringBuffer.java:561) at org.apache.log4j.PatternLayout.format(PatternLayout.java:509) at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310) at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276) at org.apache.log4j.WriterAppender.append(WriterAppender.java:162) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:59) at org.apache.log4j.AsyncAppender$Dispatcher.run(AsyncAppender.java:552) at java.lang.Thread.run(Thread.java:745) Uncaught error from thread [opendaylight-cluster-data-akka.actor.default-dispatcher-33] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[opendaylight-cluster-data] java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.Arrays.copyOf(Arrays.java:2367) at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130) at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415) at java.lang.StringBuilder.append(StringBuilder.java:132) at scala.StringContext.standardInterpolator(StringContext.scala:126) at scala.StringContext.s(StringContext.scala:95) at akka.actor.ActorRef.toString(ActorRef.scala:154) at akka.pattern.AskableActorRef$.ask$extension(AskSupport.scala:137) at akka.pattern.AskableActorRef$.$qmark$extension(AskSupport.scala:144) at akka.pattern.AskSupport$class.ask(AskSupport.scala:75) at akka.pattern.package$.ask(package.scala:43) at akka.pattern.Patterns$.ask(Patterns.scala:47) at akka.pattern.Patterns.ask(Patterns.scala) at org.opendaylight.controller.remote.rpc.RemoteRpcImplementation.findRouteAsync(RemoteRpcImplementation.java:85) at org.opendaylight.controller.remote.rpc.RemoteRpcImplementation.invokeRpc(RemoteRpcImplementation.java:56) at org.opendaylight.controller.md.sal.dom.broker.impl.RoutedDOMRpcRoutingTableEntry.invokeRpc(RoutedDOMRpcRoutingTableEntry.java:69) at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRoutingTable.invokeRpc(DOMRpcRoutingTable.java:186) at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter.invokeRpc(DOMRpcRouter.java:124) at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.invoke0(RpcServiceAdapter.java:65) at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.access$000(RpcServiceAdapter.java:43) at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter$RpcInvocationStrategy.invoke(RpcServiceAdapter.java:159) at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.invoke(RpcServiceAdapter.java:96) at com.sun.proxy.$Proxy77.addFlow(Unknown Source) at org.opendaylight.openflowplugin.applications.frm.impl.FlowForwarder.add(FlowForwarder.java:197) at org.opendaylight.openflowplugin.applications.frm.impl.FlowForwarder.add(FlowForwarder.java:61) at org.opendaylight.openflowplugin.applications.frm.impl.FlowNodeReconciliationImpl.reconciliation(FlowNodeReconciliationImpl.java:285) at org.opendaylight.openflowplugin.applications.frm.impl.FlowNodeReconciliationImpl.flowNodeConnected(FlowNodeReconciliationImpl.java:196) at org.opendaylight.openflowplugin.applications.frm.impl.FlowNodeReconciliationImpl.flowNodeConnected(FlowNodeReconciliationImpl.java:182) at org.opendaylight.openflowplugin.applications.frm.impl.FlowNodeReconciliationImpl.onDataChanged(FlowNodeReconciliationImpl.java:154) at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143) at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)

edit retag flag offensive close merge delete