Uploaded image for project: 'netvirt'
  1. netvirt
  2. NETVIRT-1295

Transaction leak in ExternalRoutersListener

XMLWordPrintable

      NETVIRT-1089 found these in natservice, all of which need to be (separately) plugged:

      DataBroker : newReadOnlyTransaction() 28x transactions opened here, which are not closed: (...) org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.newReadOnlyTransaction(BindingDOMDataBrokerAdapter.java:59) (...) org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.read(ExternalRoutersListener.java:573) org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.subnetRegisterMapping(ExternalRoutersListener.java:422) org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.subnetRegisterMapping(NaptSwitchHA.java:1063) org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener.handleSNATForDPN(RouterDpnChangeListener.java:333) org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener.lambda$add$0(RouterDpnChangeListener.java:198) org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.runWithUncheckedExceptionLogging(JobCoordinatorImpl.java:416)

      as well as this:

       2x transactions opened here, which are not closed:
            (...)      org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.newReadOnlyTransaction(BindingDOMDataBrokerAdapter.java:59)
            (...)      org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.read(ExternalRoutersListener.java:573)      org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.subnetRegisterMapping(ExternalRoutersListener.java:422)      org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.handleEnableSnat(ExternalRoutersListener.java:300)      org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.lambda$add$0(ExternalRoutersListener.java:281)     org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.runWithUncheckedExceptionLogging(JobCoordinatorImpl.java:416)

      and this:

       DataBroker : newWriteOnlyTransaction()
          59x transactions opened here, which are not closed:
            (...)
            org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.newWriteOnlyTransaction(BindingDOMDataBrokerAdapter.java:69)
            (...)
            org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener$NatInterfaceStateUpdateWorker.call(NatInterfaceStateChangeListener.java:377)
            org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener$NatInterfaceStateUpdateWorker.call(NatInterfaceStateChangeListener.java:356)
            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)

      and:

      49x transactions opened here, which are not closed:
            (...)
            org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter.newWriteOnlyTransaction(BindingDOMDataBrokerAdapter.java:69)
            (...)
            org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.lambda$remove$3(ExternalRoutersListener.java:1685)
            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)

            Karthikeyan Karthikeyan Krishnan
            vorburger Michael Vorburger
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: