[YANGTOOLS-163] Implement shared schema/source provider for netconf connector Created: 13/May/14 Updated: 10/Apr/22 Due: 11/Aug/14 Resolved: 14/Aug/14 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | ||
| Reporter: | Maros Marsalek | Assignee: | Maros Marsalek |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Description |
|
When connecting to multiple netconf devices of same type (described by the same yang schemas), schema context is created from the same sources multiple times. This process consumes too much memory and CPU. This also applies to source provider (might download the same sources). |
| Comments |
| Comment by Robert Varga [ 20/Jul/14 ] |
|
Taking this one, it will be addressed as part of the schemacontext scalability patches. |
| Comment by Robert Varga [ 20/Jul/14 ] |
|
This will work by way of new APIs defined in yang-model-api, which will create a new asynchronous versions for SchemaContextFactory and SchemaSourceProvider. While the modules may be downloaded multiple times (to detect text-level differences), the model resolution will see a global cache, which will reuse contexts for as long as they are reusable (e.g. contain the same models). |
| Comment by Robert Varga [ 03/Aug/14 ] |
|
https://git.opendaylight.org/gerrit/#/c/9581/ contains the preliminary implementation. Please test it out and follow up with netconf client conversion. |
| Comment by Maros Marsalek [ 12/Aug/14 ] |
|
After review we need to test with remote devices. Recent yangtools parsing problems regarding submodules(1515, 1497) prevent us from testing. |