[NETCONF-462] TransactionChain created in RestConnectorProvider.start line 87 is never closed Created: 29/Aug/17  Updated: 15/Mar/19  Resolved: 31/Aug/17

Status: Resolved
Project: netconf
Component/s: restconf-nb
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Michael Vorburger Assignee: Unassigned
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Blocks
blocks CONTROLLER-1756 OOM due to huge Map in ShardDataTree Resolved
blocks CONTROLLER-1765 trace:transactions should suppress fa... Resolved
External issue ID: 9069

 Description   

As found in see CONTROLLER-1760 motivated by CONTROLLER-1756:

TransactionChain created in RestConnectorProvider.start line 87 is never closed



 Comments   
Comment by Jakub Morvay [ 31/Aug/17 ]

Actually, it should be closed in RestConnectorProvider.close method.

Please see:
https://github.com/opendaylight/netconf/blob/b370572f7a18b3799c9b8d0050a5862937ddb863/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/RestConnectorProvider.java#L138

Comment by Michael Vorburger [ 31/Aug/17 ]

Jakub, OK I see, so this is a case where ONE (and always only ever one, never more, can you confirm this?) TransactionChain is created and kept open for entire life time on ODL, and closed only on shutdown... correct? Then that's not a "leak" (of the kind I'm chasing for CONTROLLER-1756 using CONTROLLER-1760) - and I'm OK if you just close this issue as RESOLVED INVALID or WONTFIX.

Thanks for having had a look - I think it's valuable to record such findings here.

PS: Maybe the "trace:transactions" CLI command from CONTROLLER-1760 in the future should have some sort of [hard-coded? :-(] "white list" to not show e.g. this one - or can you think of a better way how it could be made "smart enough" to understand that e.g this TransactionChain is not a leak? Or perhaps I could just suppress anything that is only x1 and only start showing x2+ open TransactionChains - do you think that would be a good idea?

Comment by Jakub Morvay [ 31/Aug/17 ]

(In reply to Michael Vorburger from comment #2)
> Jakub, OK I see, so this is a case where ONE (and always only ever one,
> never more, can you confirm this?) TransactionChain is created and kept open
> for entire life time on ODL, and closed only on shutdown... correct? Then
> that's not a "leak" (of the kind I'm chasing for CONTROLLER-1756 using CONTROLLER-1760) -
> and I'm OK if you just close this issue as RESOLVED INVALID or WONTFIX.

Yeah, correct, this should be the case. Transaction chain is opened during creating restconf's blueprint container and closed during destroying the container. So closing this as RESOLVED INVALID.

> Thanks for having had a look - I think it's valuable to record such findings
> here.
>
> PS: Maybe the "trace:transactions" CLI command from CONTROLLER-1760 in the future
> should have some sort of [hard-coded? :-(] "white list" to not show e.g.
> this one - or can you think of a better way how it could be made "smart
> enough" to understand that e.g this TransactionChain is not a leak? Or
> perhaps I could just suppress anything that is only x1 and only start
> showing x2+ open TransactionChains - do you think that would be a good idea?

Well, I can try to think about something but we should track this elsewhere and not in this bug. Maybe, we can discuss this in CONTROLLER-1760 or in some new improvement bug.

Comment by Michael Vorburger [ 31/Aug/17 ]

> we should track this elsewhere and not in this bug. Maybe, we can
> discuss this in CONTROLLER-1760 or in some new improvement bug.

agreed and opened new CONTROLLER-1765 to further discuss what we could do about this!

Generated at Wed Feb 07 20:15:06 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.