Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

References

<insert Jira Ref, Using confluence menu options +, Jira Issue/Filter>
<optional other relevant references, Jiras, Confluence pages, external links>

Assumptions<optional>

Assumptions

...

#AssumptionNotes
1

Issues & Decisions

#IssueNotes Decision
1
Do we need a analysis template?is convention for (new) developers to guide them

Luke Gleeson and Toine Siebelink  agreed we do to have consistent pages 

2This is an open issue3This is a very important (blocking issue)

<Note. use green for closed issues, yellow for important ones if needed>

Any Other Header

< we do not want to dictate the remainder of an analysis it will depend on the type of user story at hand>

Performance issue with current solutionCurrent solution used inefficient query to populate (first) prefix property for ALL fragments although only used for top level 

Will be handled by separate Jira already in progress, see

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1326

2Top level container is not always defined in first module

Will be handled by separate Jira

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1344

3Add prefix for container in same module

This is allowed but not done normally. Team concerned about performance issues and impact on URLs when using this
Ahila P will check need with her team.


4Add prefix to first container whe this is not the top level for the module it is definedImage A and B and C are defined in module with prefix X: so full path to C X:/A/B/C  however it is possible to retrieve B or C directly, in that case should teh prefix stil be use ie. X:/B/C
5Insert prefix or name (last token of namespace)

See sample from https://github.com/YangModels/yang/blob/main/vendor/cisco/xr/534/ietf-inet-types.yang

Code Block
languagexml
titleietf-inet-types.yang


Use 'ietf-inet-types' or 'inet' to insert 


6Prefix for (additional) leaves that are defined in a separate module then the container itself

7How to handle lists (instead of container)Possibly ignore [@key=value] part. Small neglectable change of same model defined both under same parent...
8Performance

SchemaContext generation is expensive. 

  1. Consider distributed cache (already used for other things in CPS) to store resolved paths 
  2. Consider normal cache for schemaContext object has they are not serializable)
  3. Consider generating matcher for all possible paths upon SChemaContext creation (would be limited number) and store in (disttributed) cache (with a reasonable time to live)


Short Term Solution

Options

  1. iterator over schemaContext tree to generate (matchers for) all possible paths or 'normalized paths (ie. without list indexes) See also issue #8
  2. wak three using given paths which need to be resolved as needed (adn cache once found)

Long Term Solution

  1. Each Fragment needs a reference to the relevant module (on DB Level)
  2. Consider not removing original prefix's from input (could be caused by ODL parser)

...


Etc