Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[xcvrd] Force cleanup of chassis global variable on deinit (#193)
- Description I added a del directive for the global platform_chassis object in xcvrd on deinit to ensure that the pointer is properly cleaned up such that the __del__() method is successfully called on the chassis object which closes its connection to SAI. - Motivation and Context On Mellanox platforms on 202012 we are seeing that in some cases xcvrd is maintaining the socket to the API past its deconstruction causing an error from SAI. This was traced by reproducing the issue and identifying that the pmon container was causing this issue where xcvrd is the only daemon within pmon that opens a SDK socket on Mellanox. Error in log... syncd#SDK: [SX_API_INTERNAL.ERR] Failed command read at communication channel: Connection reset by peer - How Has This Been Tested? Change was uploaded to xcvrd on running pmon container on a switch running the latest 202012 build. xcvrd was then restarted with supervisord and we verified that we could no longer reproduce the bug.
- Loading branch information