Bug 1566143

Summary: [Infra] New WriteTransaction leak in NeutronPortChangeListener eventually leading to OOM in longevity
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, nyechiel, vorburger
Target Milestone: betaKeywords: Triaged
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: odl_infra
Fixed In Version: opendaylight-8.0.0-8.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
N/A
Last Closed: 2018-06-27 13:50:58 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-04-11 15:40:57 UTC
Description of problem:

Running performance and scale tests to create neutron resources and stress ODL Oxygen with OpenStack Queens in an HA setup we observe several open transactions using Michael Vorburger's msdsal-trace tool.
DataBroker : newWriteOnlyTransaction() 997x transactions opened here, which are not closed: (...) org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.newWriteOnlyTransaction(BindingDOMDataBrokerAdapter.java:69) (...) org.opendaylight.netvirt.neutronvpn.NeutronPortChangeListener.lambda$null$4(NeutronPortChangeListener.java:736) org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl.callWithNewWriteOnlyTransactionAndSubmit(ManagedNewTransactionRunnerImpl.java:45) org.opendaylight.netvirt.neutronvpn.NeutronPortChangeListener.lambda$handleNeutronPortUpdated$5(NeutronPortChangeListener.java:696) 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):
OSP 13
opendaylight-8.0.0-5.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Install OSP13 with ODL
2. Run scale tests using Browbeat
3.

Actual results:
Seeing open transactions

Expected results:
No open transactions

Additional info:

Comment 2 Stephen Kitt 2018-04-24 13:34:43 UTC
Fixed by https://git.opendaylight.org/gerrit/71036 upstream, I’ll backport that to Oxygen and then to OSP.

Comment 7 Sai Sindhur Malleni 2018-05-25 03:03:31 UTC
Tested with puddle 2018-05-23.1 and opendaylight rpm opendaylight-8.0.0-10.el7ost.noarch
. Could not reproduce. Verified that it has been fixed.

Comment 9 errata-xmlrpc 2018-06-27 13:50:58 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/RHEA-2018:2086