-
Bug
-
Resolution: Done
-
Medium
-
Oxygen-SR3
-
None
I'm looking at a Java Flight Recording obtained from (internal) scale lab testing, and see extensive "TLAB Allocations" due to what appears to be a clear mistake causing excessive toString() usage in ITM's OvsdbNodeListener.getOvsdbTepInfo():
char[] java.util.Arrays.copyOf(char[], int) 321 void java.lang.AbstractStringBuilder.ensureCapacityInternal(int) 321 AbstractStringBuilder java.lang.AbstractStringBuilder.append(boolean) 243 StringBuilder java.lang.StringBuilder.append(boolean) 243 String org.opendaylight.genius.itm.commons.OvsdbTepInfo.toString() 243 OvsdbTepInfo org.opendaylight.genius.itm.listeners.OvsdbNodeListener.getOvsdbTepInfo(OvsdbNodeAugmentation) 243 void org.opendaylight.genius.itm.listeners.OvsdbNodeListener.update(Node, Node) 243 void org.opendaylight.genius.itm.listeners.OvsdbNodeListener.update(DataObject, DataObject) 243 void org.opendaylight.serviceutils.tools.mdsal.listener.DataTreeChangeListenerActions.update(InstanceIdentifier, DataObject, DataObject) 243 void org.opendaylight.serviceutils.tools.mdsal.listener.DataTreeChangeListenerActions.onDataTreeChanged(Collection, DataStoreMetrics) 243 void org.opendaylight.serviceutils.tools.mdsal.listener.AbstractSyncDataTreeChangeListener.onDataTreeChanged(Collection) 243 void org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(Collection) 243 void org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChanged) 243 void org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(Object) 243 void org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(Object) 243 Object akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(Object, Function1) 243 void akka.actor.Actor.aroundReceive(PartialFunction, Object) 243 void akka.actor.Actor.aroundReceive$(Actor, PartialFunction, Object) 243 void akka.actor.UntypedActor.aroundReceive(PartialFunction, Object) 243 void akka.actor.ActorCell.receiveMessage(Object) 243 void akka.actor.ActorCell.invoke(Envelope) 243 void akka.dispatch.Mailbox.processMailbox(int, long) 243 void akka.dispatch.Mailbox.run() 243 boolean akka.dispatch.Mailbox.exec() 243 int akka.dispatch.forkjoin.ForkJoinTask.doExec() 243 void akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinTask) 243 void akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool$WorkQueue) 243 void akka.dispatch.forkjoin.ForkJoinWorkerThread.run() 243