Version compatibility
|
|
---|---|
Dear all, I'm looking for information about the compatibility of different versions of Tango, PyTango (9.2.5 to 9.5). Particularly, I'm talking about network/protocol compatibility. Can a Tango 9.5-based client read/write attributes, invoke commands, subscribe to events of Tango 9.2.5-based device, and vice versa? |
|
|
---|---|
Hi AlexS Those versions should work fine together. In general, Tango has excellent compatibility, even between different major versions. Command and attribute access is done using CORBA, which is compatible across all major versions. The event system changed to ZeroMQ in V8, so I'm not sure if events would work between <=V7 and >=V8. Of course, there are always bug fixes along the way, so you might find some problem in the 9.2.5 device or client that has since been fixed. E.g., newer versions of cppTango have better support for containerisation and usage in Kubernetes. /Anton |
|
|
---|---|
I agree with Anton. One important bug fix related to events if you are using network aliases on your hosts has been fixed in cppTango 9.3.3. That's why in general, I recommend using versions >= 9.3.3 when using events, otherwise, you might fall into the issue where you get systematically 2 events every 10 seconds (1 error event and 1 event corresponding to the synchronous call made during the event re-subscription). Hoping this helps, Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new. |
|
|
---|---|
Anton Actually, events should work even in this use case but Tango would then send events via the notifd in this use case (but you would need to have notifd daemons running on the hosts where your device servers are running and use the old notifd2db tool (no longer provided in recent Tango distributions I think) to register the notifd daemons into the Tango DB).
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new. |