[CONTROLLER-801] restconf doesn't work with the odl-mdsal-all feature Created: 10/Sep/14  Updated: 15/Sep/14  Resolved: 15/Sep/14

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

Type: Bug
Reporter: Tom Pantelis Assignee: Tom Pantelis
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 1789
Priority: High

 Description   

I installed the odl-mdsal-all feature but when I try to access something via restconf it fails with error:

"Transaction factory was closed. No further operations allowed."

The problem is due to the odl-mdsal-clustering feature listed after odl-restconf. The restconf module is started first and it gets the DOMDataBroker created via 01-mdsal.xml injected. Then the clustering module is started which creates a new DOMDataBroker instance and closes the initial one. Thus the restconf module is left holding a stale DOMDataBroker instance.

The workaround is to move the odl-mdsal-clustering feature before odl-restconf. This works properly.

The restconf module should be more resilient to dependency changes. It caches the DOMDataBroker instance obtained from ProviderSession. It also caches the ProviderSession so it seems it should obtain the DOMDataBroker dynamically when needed.


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