Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1607959

Summary: [Infra] Transaction leak in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager
Product: Red Hat OpenStack Reporter: Sai Sindhur Malleni <smalleni>
Component: opendaylightAssignee: Stephen Kitt <skitt>
Status: CLOSED ERRATA QA Contact: Sai Sindhur Malleni <smalleni>
Severity: high Docs Contact:
Priority: high    
Version: 13.0 (Queens)CC: aadam, mkolesni, nmanos, nyechiel, skitt, smalleni, vorburger
Target Milestone: z3Keywords: TestOnly, Triaged, ZStream
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: Infra
Fixed In Version: opendaylight-8.3.0-3.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-13 23:32:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1577975    

Description Sai Sindhur Malleni 2018-07-24 15:41:18 UTC
[reply] [−]  Private Description Sai Sindhur Malleni 2018-07-17 21:19:32 EDT
Description of problem:
Running performance and scale tests that create 100s of neutron resources like networks, subnets, ports and routers and waiting for the environment to quiesce, we observe some new transaction leaks based on Michael Vorburger's mdsal-trace tool.

    132x transactions opened here, which are not closed:
      (...)
      org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.newWriteOnlyTransaction(BindingDOMDataBrokerAdapter.java:69)
      (...)
      org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.lambda$addVpnInterfaceToVpn$0(VpnInterfaceManager.java:268)
      org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.runWithUncheckedExceptionLogging(JobCoordinatorImpl.java:416)
      org.opendaylight.infrautils.utils.concurrent.LoggingUncaughtThreadDeathContextRunnable.run(LoggingUncaughtThreadDeathContextRunnable.java:60)
      java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
      java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
      java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
      java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
      java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Version-Release number of selected component (if applicable):
OSP13
Puddle: 2018-07-13.1

How reproducible:
100%

Steps to Reproduce:
1. Run Browbeat+Rally neutron test suite
2. Get open transactions
3.

Actual results:
We see several open transactions after the tests finished running.

Expected results:

No open transactions
Additional info:

Comment 1 Michael Vorburger 2018-07-24 15:56:23 UTC
https://gist.github.com/smalleni/63d486b66572199a55d1c29167c5e455 shows a (bigger; 1283x) leak elsewhere in VpnInterfaceManager (from lines 1523 *AND* 1524) which should also be looked into as part of this issue.

Comment 2 Sai Sindhur Malleni 2018-07-24 16:01:58 UTC
Added that to a comment here:
https://bugzilla.redhat.com/show_bug.cgi?id=1602188

Comment 3 Michael Vorburger 2018-07-25 14:56:22 UTC
Stephen, is this one a full duplicate of Bug 1602188 and already fixed (sure?) upstream and thus coming with Oxygen SR3 (so just close as dupe?), or a separate issue that needs to be looked into?

Comment 4 Stephen Kitt 2018-07-25 15:57:11 UTC
(In reply to Michael Vorburger from comment #3)
> Stephen, is this one a full duplicate of Bug 1602188 and already fixed
> (sure?) upstream and thus coming with Oxygen SR3 (so just close as dupe?),
> or a separate issue that needs to be looked into?

No, it’s not a dupe, and it’s not fixed in Oxygen (but fixed in master, https://git.opendaylight.org/gerrit/71799).

Comment 5 Sai Sindhur Malleni 2018-08-16 11:44:30 UTC
Tested with rpm opendaylight-8.3.0-3.el7ost.noarch


Still found open1 open transaction
    1x transactions opened here, which are not closed:
      (...)
      org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.newWriteOnlyTransaction(BindingDOMDataBrokerAdapter.java:69)
      (...)
      org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.lambda$addVpnInterfaceToVpn$0(VpnInterfaceManager.java:269)
      org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.runWithUncheckedExceptionLogging(JobCoordinatorImpl.java:416)
      org.opendaylight.infrautils.utils.concurrent.LoggingUncaughtThreadDeathContextRunnable.run(LoggingUncaughtThreadDeathContextRunnable.java:60)
      java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
      java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
      java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
      java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
      java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Comment 6 Michael Vorburger 2018-08-16 14:14:27 UTC
> Still found open transaction
>   1x transactions opened here, which are not closed:

we can probably ignore that, if it's just "1x" - we're really only concerned if you see hundreds of still open transactions after it should have closed them after a scale test.

Comment 9 Lon Hohberger 2018-08-29 19:52:40 UTC
According to our records, this should be resolved by opendaylight-8.3.0-3.el7ost.  This build is available now.

Comment 10 Mike Kolesnik 2018-09-03 10:36:01 UTC
Sai,

Can you please conclude with Michael Vorburger if this is fixed or not?

Comment 11 Sai Sindhur Malleni 2018-09-20 17:11:19 UTC
I tested this with opendaylight-8.3.0-3.el7ost.noarch and on controller-1 and controller-2 I did not find this open transaction. However, Opendaylight seems to have died on controller-0.

Comment 12 Mike Kolesnik 2018-10-28 09:28:01 UTC
(In reply to Sai Sindhur Malleni from comment #11)
> I tested this with opendaylight-8.3.0-3.el7ost.noarch and on controller-1
> and controller-2 I did not find this open transaction. However, Opendaylight
> seems to have died on controller-0.

I suggest to move to verified since it seems the original problem has been solved.

Comment 14 Sai Sindhur Malleni 2018-11-08 02:59:30 UTC
Verified this with opendaylight-8.3.0-7.el7ost.noarch

Comment 16 errata-xmlrpc 2018-11-13 23:32:56 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3614