events and TangoAccessControl
Hello,
We use TangoAccessControl and I had been experiencing problems with events for a long time. C++/Python clients could sucessfully subscribe to events (i used periodic events) but they stopped arriving after 600 seconds.
It turned out that clients should resubscribe every 200 seconds by executing EventConfirmSubscription command on the corresponding administrative device. However, the command was not in the list of allowed commands for class Dserver so it was silently rejected by TangoAccessControl.
After I added the command to the list of allowed commands, everything starts to work just fine.
MySQL [tango]> select * from property_class where value='EventConfirmSubscription';
+---------+------------------+-------+--------------------------+---------------------+---------------------+---------+
| class | name | count | value | updated | accessed | comment |
+---------+------------------+-------+--------------------------+---------------------+---------------------+---------+
| DServer | AllowedAccessCmd | 2 | EventConfirmSubscription | 2018-12-19 10:38:45 | 2018-12-19 10:38:45 | NULL |
+---------+------------------+-------+--------------------------+---------------------+---------------------+---------+
I think it would be nice if try/catch block in client/eventkeepalive.cpp would report about denied access instead of silent ommision. Also, I guess the dserver EventConfirmSubscription command should be allowed by default in TANGO database by create/update database scripts.
thanks, Evgeny