Attributes of data type DevString are not archived by HDB++ Archiver

Hello All,

During the HDB++ Archiver testing with the attributes (with various data types) from the TangoTest device, we observed that attributes like string_scalar, string_spectrum (TANGO datatype DevString) are not archived. While the attribute configuration is successful, as is evident from the entry in the main table att_conf, the actual values are not archived in the respective data type tables. This behavior is observed with the Archive events of type PeriodEvent and AbsoluteEvent. I have attached the screenshot of the same in this comment.

Below are the versions of HDB++ Libraries:
  • libhdbpp 1.0.0
  • libhdbpp-mysql 1.1.0
  • hdbpp-es 1.0.1
  • hdbpp-cm 1.0.1

Data types not archived by HDB++ Archiver:

Hdb++ data type : tango_data_type
  • scalar_devstring_ro : 8 (DevString)
  • scalar_devstring_rw : 8
  • array_devstring_ro : 8
  • array_devstring_rw : 8

Following is the code snippet of the apis are invoked to archive DevString attributes, when the Configuarion Manager, Event Subscriber and TangoTest device are up and running:

conf_manager_proxy = DeviceProxy(CONF_MANAGER_DEVICE_FQDN)
conf_manager_proxy.write_attribute("SetAttributeName", "sys/tg_test/1/string_scalar")
conf_manager_proxy.write_attribute("SetArchiver", EVT_SUBSCRIBER_DEVICE_FQDN)
conf_manager_proxy.write_attribute("SetStrategy", "ALWAYS")
conf_manager_proxy.write_attribute("SetPollingPeriod", int(polling_period))
conf_manager_proxy.write_attribute("SetPeriodEvent", int(period_event))
conf_manager_proxy.AttributeAdd()


Please let me know if I am missing anything. Any inputs will be helpful.
Edited 2 months ago
Hi,
is there any error reported in the AttributeErrorList attribute, or in the AttributeStatus command, or in the output of hdb++es?

If it is "Buffer type is not supported" it is an open issue (https://github.com/tango-controls-hdbpp/libhdbpp-mysql/issues/12) that happens when using libmariadb, that needs to be solved.

Graziano
Hi,
if the issue is with "Buffer type is not supported" as I mentioned before, solution is to replace every occurrence of MYSQL_TYPE_VARCHAR with MYSQL_TYPE_STRING in libhdbpp-mysql code.
I committed the fix in batch_insert branch of libhdbpp-mysql, but to use that you should also move to project-build branch of hdbpp-es, and latest not tagged hdbpp-cm and libhdbpp on master branch.
Hopefully everything will be merged and released soon.

Graziano
Hi Graziano,

Sorry for the delayed response. When the string_scalar attribute is archived I could see the AttributeStartedNumber incremented. Also the AttributeErrorList is empty.

Thanks for the update on the issue "Buffer type is not supported". I will surely check the behaviour once the solution is merged in master.

I have a slightly different question. Do you think that the reported issue (with DevString attributes) may not occur with TimescaleDB?

Thanks,
Apurva
Edited 2 months ago
 
Register or login to create to post a reply.