Unsubscribe in push_event leads to API_EventTimeout
We encountered this issue when investigating https://github.com/tango-controls/pytango/issues/292.
The architecture is as following. We have one DS called DeviceServer which
exports in total two devices, each of a different class. These two classes are:
-
Device1with one attributeattr1 -
Device2with two attributesattr1andattr2
What we will do:
- Subscribe to
attr1configuration events of theDevice1device. - Subscribe to
attr1change events of theDevice2device. - Subscribe to
attr2change events of theDevice2device with a callback which will unsubscribe from the previously subscribedattr1configuration events of theDevice1device.
This leads to the situation where the client stops receiving events and just get's API_EventTimeout.
Thanks to the example provided by @schooft we could also reproduce it with C++ client.
More details and the exemplary code can be found in https://github.com/reszelaz/test-tango-unsub.