[CONTROLLER-1792] IllegalStateException: Illegal state - listener for org.opendaylight.controller.md.sal.trace.dom.impl.TracingTransactionChain@... was invoked for incorrect chain org.opendaylight.controller.cluster.databroker.DOMBrokerTransactionChain@... Created: 17/Nov/17  Updated: 24/Nov/17  Resolved: 24/Nov/17

Status: Resolved
Project: controller
Component/s: None
Affects Version/s: None
Fix Version/s: None

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

Attachments: Text File gistfile1.txt    

 Description   

Seeing uncaught listener thread exceptions in the stdout of the JVM

https://gist.github.com/smalleni/f896c79a388779ed1f7d82d795f85e05



 Comments   
Comment by Michael Vorburger [ 17/Nov/17 ]

> https://gist.github.com/smalleni/f896c79a388779ed1f7d82d795f85e05

attached as gistfile1.txt so that its JIRA indexed...

MDSAL-297 will make these exceptions go into ODL log instead STDOUT, this issue is about fixing what is causing them.

The trouble is that these exception do not contain the "origin" of what chains they are about (somewhat similar issue to CONTROLLER-1760).

More importantly, I do not yet understand what problem these exceptions are signaling.

Comment by Michael Vorburger [ 21/Nov/17 ]

This IllegalStateException is thrown at org.opendaylight.controller.md.sal.binding.impl.BindingDOMTransactionChainAdapter.DelegateChainListener.onTransactionChainFailed().

I missed on the first look last week that this is related to the TracingTransactionChain, which is our stuff for the trace:transaction Tx leak detection for OOM prevention; so the good news is this ONLY happens with feature:install odl-mdsal-trace (so it's not a "real" problem affecting production), but the bad news is we're finding here trace:transactions has this side-effect, when it was supposed to be transparent... even though AFAIK it's not causing any real harm.

The TracingTransactionChain is just a wrapper around the DOMBrokerTransactionChain, but it fails the equals() check in that onTransactionChainFailed method. Perhaps that shouldn't be an equals, but... what?

I'm inclined to just close this as WONTFIX .. or do we need to find a way to "fix" this?

Comment by Michael Vorburger [ 21/Nov/17 ]

https://git.opendaylight.org/gerrit/#/c/65808/, or something like it, will probably fix this actually..

Thank You to tpantelis for pointing me in that direction!

Comment by Michael Vorburger [ 24/Nov/17 ]

smalleni we expect this to be fixed now (but I've not reproduced and tested it); if you still see it, so closing; please just re-open.

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