[YANGTOOLS-692] Parser: duplicate ModelDefinedStatementDefinitions Created: 18/Oct/16 Updated: 10/Apr/22 Resolved: 23/Oct/16 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Highest |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Issue Links: |
|
||||||||||||
| Epic Link: | Parser Performance | ||||||||||||
| External issue ID: | 6964 | ||||||||||||
| Description |
|
Analysis of a memory snapshot with vendor models shows we end up with a SchemaContext which weighs about 240MB. Further analysis of duplicate objects shows we have 27257 instances of ModelDefinedStatementDefinition, which have the same QName and same yinElement – and waste ~600kB. They are reachable via UnknownStatementImpl, hence some deduplication/sharing strategy is needed. |
| Comments |
| Comment by Robert Varga [ 20/Oct/16 ] |
|
Preliminary paper-the-problem-over patch: https://git.opendaylight.org/gerrit/47203 |
| Comment by Robert Varga [ 20/Oct/16 ] |
| Comment by Robert Varga [ 20/Oct/16 ] |
|
actually that patch is for carbon |
| Comment by Robert Varga [ 21/Oct/16 ] |
| Comment by Michael Vorburger [ 23/Oct/16 ] |
|
Re-opening this due to |
| Comment by Robert Varga [ 23/Oct/16 ] |
|
Invalid reopen. It should have only been reopened if the corresponding revert was merged (which was the wrong thing to do). Note that the original patch contained a fix for a test, which has had exactly the same issue. |