[CONTROLLER-1834] Transaction Trace tool wiring for ping-pong DataBroker is wrong Created: 04/Jun/18  Updated: 12/Jun/18  Resolved: 12/Jun/18

Status: Resolved
Project: controller
Component/s: None
Affects Version/s: None
Fix Version/s: Fluorine, Oxygen SR3

Type: Bug Priority: Medium
Reporter: Michael Vorburger Assignee: Michael Vorburger
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks NETVIRT-1089 Add trace:transactions to suite teard... In Progress
blocks MDSAL-213 Serializing DataObject to JSON causes... Resolved
blocks CONTROLLER-1831 Utilities to bootstrap CDS in a stand... Resolved
Relates
relates to CONTROLLER-1832 Transaction Trace tool wiring creates... Resolved

 Description   

while working on CONTROLLER-1831 and reviewing blueprint wiring XML in controller, I realized that opendaylight/md-sal/mdsal-trace/binding-impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml contained a subtle mistake:

The tracing pingpong DataBroker was, by mistake, wired to the original non-tracing 
DOMDataBroker instead of the TracingDOMDataBroker. The tracing non pingpong DataBroker was already correct. This means that trace:transaction missed any leaks caused by non-closed transactions from users of the pingpong DataBroker.

Having some application code use the tracing and other the non-tracing original DB, including separate classloading due to the BindingNormalizedNodeCodecRegistry in the BindingToNormalizedNodeCodec, when the Transaction Trace tool is installed (only), smells like asking for trouble... in fact, I'm wondering if perhaps this could be causing MDSAL-213 !?

I'll raise a Gerrit with a proposed fix for this ASAP.

See also CONTROLLER-1832.



 Comments   
Comment by Michael Vorburger [ 04/Jun/18 ]

master: https://git.opendaylight.org/gerrit/#/c/72656/, stable/oxygen still TBD (after master review merge)...

Comment by Michael Vorburger [ 04/Jun/18 ]

This changes the output of this trace:transactions CLI command to be like this:

karaf@root()> trace:transactions
default: No open transactions, great!
pingpong: No open transactions, great!
Comment by Michael Vorburger [ 07/Jun/18 ]

We unfortunately missed the train for Oxygen SR2 for this one, so SR3.

Generated at Wed Feb 07 19:56:33 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.