libopenstorage / openstorage

A multi-host clustered implementation of the open storage specification
Apache License 2.0
526 stars 118 forks source link

PWX-38611 : [cherry-pick]Replacing gob.Register with gob.RegisterName #2473

Closed dtalreja-px closed 2 months ago

dtalreja-px commented 2 months ago

What this PR does / why we need it: With recent update from portworx to pure-px, we were seeing errors during porx upgrade in decoding of gossip message. "gossip: Error in unmarshalling peer's local data. Error : gob: name not registered for interface: "github.com/portworx/porx/vendor/github.com/libopenstorage/openstorage/api.Node"

Since the latest porx was not able to decipher the old path, we have changes gob.Register() to gob.RegisterName() to explicitly inform the complete path.

Which issue(s) this PR fixes (optional) Closes # PWX-38452 and PWX-38611

Testing Notes Tested the below scenarios -

Upgrade a 3 node cluster from 3.1.4 to 3.2.0 using operator 24.1.1 Upgrade a 3 node cluster from 3.1.4 to 3.2.0 using operator 24.2.0-dev Sequentially Upgrade a 10 node cluster from 3.1.4 to 3.2.0 using operator 24.2.0-dev parallel upgrade (4 nodes at a time )a 10 node cluster from 3.1.4 to 3.2.0 using operator 24.2.0-dev Special notes for your reviewer: we are not seeing the log anymore "gossip: Error in unmarshalling peer's local data. Error : gob: name not registered for interface: "github.com/portworx/porx/vendor/github.com/libopenstorage/openstorage/api.Node"