-
Bug
-
Resolution: Duplicate
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
9101
As part of ongoing efforts under NETVIRT-883 we've stumbled upon what could be (but I'm not sure) a suspected TransactionChain leak in TransactionChainManager. – This looks similar to OPNFLWPLUG-933 BUT:
(a) OPNFLWPLUG-933 looks more like an impact (IllegalStateException: Attempted to close chain with outstanding transaction) whereas this MAY be the cause of that , found via new CONTROLLER-1760 tooling (which was not yet available when OPNFLWPLUG-933 was raised!) ...
(b) therefore the stack trace here is sufficiently different from OPNFLWPLUG-933 (e.g. ContextChainImpl as well as DeviceContextImpl lazyTransactionManagerInitialization VS initialSubmitTransaction)
So I thought it to be potentially useful to open as a separate new bug, even if ultimately is it closed as a duplicated of OPNFLWPLUG-933 after all.
Below (NB 4x) is from a test env that just started, not yet doing much under load; we hope to be able to update this tomorrow with more about whether we saw that 4x go up under load.
___
DataBroker : createTransactionChain()
4x TransactionChains opened but not closed here:
org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedTrait.<init>(CloseTrackedTrait.java:31)
org.opendaylight.controller.md.sal.trace.closetracker.impl.AbstractCloseTracked.<init>(AbstractCloseTracked.java:22)
org.opendaylight.controller.md.sal.trace.dom.impl.TracingTransactionChain.<init>(TracingTransactionChain.java:28)
org.opendaylight.controller.md.sal.trace.dom.impl.TracingBroker.createTransactionChain(TracingBroker.java:330)
org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.<init>(PingPongTransactionChain.java:98)
org.opendaylight.controller.md.sal.dom.broker.impl.PingPongDataBroker.createTransactionChain(PingPongDataBroker.java:47)
org.opendaylight.controller.md.sal.dom.broker.impl.PingPongDataBroker.createTransactionChain(PingPongDataBroker.java:27)
Proxya83f6d64_c9b6_4c7c_8f61_0bd995e3f660.createTransactionChain(Unknown Source)
Proxy7262af10_1ad4_40f0_a8c9_922b6f492a99.createTransactionChain(Unknown Source)
org.opendaylight.controller.md.sal.binding.impl.BindingDOMTransactionChainAdapter.<init>(BindingDOMTransactionChainAdapter.java:45)
org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.createTransactionChain(BindingDOMDataBrokerAdapter.java:74)
Proxye5303411_c218_4285_85cf_8a6f989a6fb8.createTransactionChain(Unknown Source)
Proxyb324b7ea_805d_437b_af8c_e7404580eb1f.createTransactionChain(Unknown Source)
org.opendaylight.openflowplugin.impl.device.TransactionChainManager.createTxChain(TransactionChainManager.java:83)
org.opendaylight.openflowplugin.impl.device.TransactionChainManager.activateTransactionManager(TransactionChainManager.java:114)
org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.lazyTransactionManagerInitialization(DeviceContextImpl.java:674)
org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.instantiateServiceInstance(DeviceContextImpl.java:613)
org.opendaylight.openflowplugin.impl.lifecycle.ContextChainImpl.initializeContextService(ContextChainImpl.java:259)
java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:890)
org.opendaylight.openflowplugin.impl.lifecycle.ContextChainImpl.instantiateServiceInstance(ContextChainImpl.java:81)
org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceRegistrationDelegator.instantiateServiceInstance(ClusterSingletonServiceRegistrationDelegator.java:47)
org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.takeOwnership(ClusterSingletonServiceGroupImpl.java:305)
org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.ownershipChanged(ClusterSingletonServiceGroupImpl.java:249)
org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.ownershipChanged(AbstractClusterSingletonServiceProviderImpl.java:146)
org.opendaylight.mdsal.singleton.dom.impl.DOMClusterSingletonServiceProviderImpl.ownershipChanged(DOMClusterSingletonServiceProviderImpl.java:23)
org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:44)
org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.handleReceive(EntityOwnershipListenerActor.java:33)
org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38)
akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165)
akka.actor.Actor$class.aroundReceive(Actor.scala:502)
akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
akka.actor.ActorCell.invoke(ActorCell.scala:495)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
akka.dispatch.Mailbox.run(Mailbox.scala:224)
akka.dispatch.Mailbox.exec(Mailbox.scala:234)
scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
- blocks
-
OPNFLWPLUG-933 IllegalStateException: Attempted to close chain with outstanding transaction PingPongTransaction at org.opendaylight.openflowplugin.impl.device.TransactionChainManager.createTxChain
- Resolved
-
NETVIRT-883 Umbrella parent issue for grouping all suspected transaction leaks
- Resolved
- duplicates
-
OPNFLWPLUG-933 IllegalStateException: Attempted to close chain with outstanding transaction PingPongTransaction at org.opendaylight.openflowplugin.impl.device.TransactionChainManager.createTxChain
- Resolved