You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Confirmed. The old connection (and the memory associated with it) is kept and not released.
This can be seen by the show mem command after two reconnects:
olof@alarik> show memory backend
...
YANG
top/config 301K
top/data 460K
default/openconfig2 11M
default/openconfig2 11M <---
default/openconfig2 11M <---
YANG Total 33M
Mem Total 33M
This is actually quite complicated.
The problem is that on reconnect, the mount-point is removed from the old yang, in order to handle upgrades.
That is, if a device is upgraded with new YANG, the new YANG should be installed and bound for the device.
However, the old yang may be used by other devices and also in an intermediate phase during a commit diff evaluation, the old yang is bound to running while the new yang is bound to candidate.
During the time when the old yang is still used it cannot be removed.
It can be removed when no references from any datastore XML cache uses it.
But this is non-trivial.
Maybe it could be solved by clearing caches.
The workaround is to restart the backend.
After closing and reopening the connection to devices again. There seems to be a memory leak. The memory used become doubled.
The text was updated successfully, but these errors were encountered: