-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] lib, mgmtd: Fix the Scratch Buffer usage in Northbound code #14594
base: master
Are you sure you want to change the base?
Conversation
Did you test this? Just quickly looked at the code and I see several scenarios where I think it won't work. Please confirm that you've tested it on various scenarios (create/modify/delete data, leaves/containers, with existing and non-existing parents, etc.), before I actually start to review this. It would be also great to see some numbers on performance difference between this and full diff. |
694d618
to
884fa22
Compare
@idryzhov I did test quiet a few combination of scenarios... like..
In each case the extra log added in mgmt_txn.c was used to verify that we are using the scratch buffer. Also ran the mgmt topotests before uploading the PR. But haven't run the full TopoTests yet. Give me some time to finish those. I will suggest you to start reviewing once all the topotests in CI runs without failure. |
884fa22
to
59ac868
Compare
The changes to the candidate data trees were not getting added to the scratch-buffer since lyd_diff_get_op was returning nothing ('n') as no 'operational' metadata associated with the data items in the YANG models. Fixed the logic to add them to the scratch buffer anyways. Also, the scratch-buffer updations were getting invoked everywhere (mgmtd, backend clients). Limited the usage to mgmtd daemon only. Signed-off-by: Pushpasis Sarkar <[email protected]>
59ac868
to
e751574
Compare
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This PR is stale because it has been open 180 days with no activity. Comment or remove the |
The changes to the candidate data trees were not getting added to the scratch-buffer since lyd_diff_get_op was returning nothing ('n') as no 'operational' metadata associated with the data items in the YANG models. Fixed the logic to add them to the scratch buffer anyways.
Also, the scratch-buffer updations were getting invoked everywhere (mgmtd, backend clients). Limited the usage to mgmtd daemon only.