Skip to content

ATTR_CONF event subscription not working for Database DS attributes

Subscribing to ATTR_CONF events of any attribute of the Database DS seems to succeed but then results in event timeouts.

The same does not happen with other DSs.

To reproduce, one can use the following python snippet:

import tango
import time

dt = tango.DeviceProxy("sys/tg_test/1")
dt.subscribe_event("state", tango.EventType.ATTR_CONF_EVENT, tango.utils.EventCallback(), stateless=True)
db = tango.DeviceProxy("sys/database/2")
db.subscribe_event("state", tango.EventType.ATTR_CONF_EVENT, tango.utils.EventCallback(), stateless=True)
db.subscribe_event("timing_average", tango.EventType.ATTR_CONF_EVENT, tango.utils.EventCallback(), stateless=True)

time.sleep(25)
print("done")

Its output is (note that only the DB attributes fail):

2022-02-02 20:20:25.877467 SYS/TG_TEST/1 STATE ATTR_CONF label='State'; unit=''
2022-02-02 20:20:25.920940 SYS/DATABASE/2 STATE ATTR_CONF label='State'; unit=''
2022-02-02 20:20:25.923494 SYS/DATABASE/2 TIMING_AVERAGE ATTR_CONF label='Timing_average'; unit=''

2022-02-02 20:20:38.080626 SYS/DATABASE/2 STATE ATTR_CONF [API_EventTimeout] Event channel is not responding anymore,maybe the server or event system is down
2022-02-02 20:20:38.081148 SYS/DATABASE/2 STATE ATTR_CONF label='State'; unit=''
2022-02-02 20:20:38.081266 SYS/DATABASE/2 TIMING_AVERAGE ATTR_CONF [API_EventTimeout] Event channel is not respondinganymore, maybe the server or event system is down
2022-02-02 20:20:38.081561 SYS/DATABASE/2 TIMING_AVERAGE ATTR_CONF label='Timing_average'; unit=''
2022-02-02 20:20:48.316584 SYS/DATABASE/2 STATE ATTR_CONF [API_EventTimeout] Event channel is not responding anymore,maybe the server or event system is down
2022-02-02 20:20:48.317071 SYS/DATABASE/2 STATE ATTR_CONF label='State'; unit=''
2022-02-02 20:20:48.317180 SYS/DATABASE/2 TIMING_AVERAGE ATTR_CONF [API_EventTimeout] Event channel is not respondinganymore, maybe the server or event system is down
2022-02-02 20:20:48.317449 SYS/DATABASE/2 TIMING_AVERAGE ATTR_CONF label='Timing_average'; unit=''
done
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information