HDB++ new release


It looks like you are using an old version of the HDB++ Configuration Manager device server which is not supporting the strategies feature, and which is not compatible with the HDBConfigurator 2.2.
You should stay with HDBConfigurator 1.5a or upgrade the HDB++ConfigurationManager and HDB++ Event Subscriber device servers if you want to use strategies.

All the HDB++ related git repositories have been moved to the tango-controls-hdbpp Github organization (https://github.com/tango-controls-hdbpp).

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.
Hello TANGOers,

New features of HDB++ are promising. I need your help in understanding these features and resolving some issues as listed below.

  • Time to Live (TTL)
    I want to archive an attribute with TTL as 1 hour. Tried with the Configuration GUI (v2.2) but it doesn't allow decimal value and expects value in no.of days. Is my understanding correct that we won't be able to specify TTL in hour format using the Configuration GUI? As a workaround, I used commands on Configuration Manager device server to specify TTL as 1 hour. attr_conf table successfully reflected this change. However, the entries corresponding to the attributes were not deleted from the MySQL database. Values older than 1 hour are still reflecting. Please note that majority of the tables use MyISAM as the SQL engine. Any ideas on what I missed?
    Further, I wish to understand how TTL feature works. How does HDB++ trigger/notify MySQL to delete the older data? I read the delete_attr stored procedure, but I was unable to locate any code/schedule calling this stored procedure.

  • LightSchema
    Added a new row in the LibConfiguration property as lightschema=1, for Configuration Manager and Event Subscriber device servers. In order to use the lightschema, I need to remove the attribute from archiving, restart Event Subscriber and Configuration Manager device servers. Is that possible to update the lightschema property and see the change at run-time (without restarting device servers and removing the attribute)?
    Using lightschema, I see that the values for columns insert_time, recv_time, quality, and att_error_desc_id are not updated but use their default values specified in the schema (eg: 0000-00-00 00:00:00.000000). I had expected that those columns will be dropped from the table. smile As the default values are still values, I don't think it will help significantly in reducing the data on the disk. Is it safe to alter the database schema by dropping the columns insert_time, recv_time, quality, and att_error_desc_id and using lightschema permanently?

  • Partition and Maintenance scripts
    I read that partition and maintenance scripts are available for MySQL. Is create_hdb++_mysql_innodb.sql a partition and maintenance script? Are there any other scripts available?

Please feel free to correct me if there are any gaps in my understanding.

Kind regards,
Edited 4 weeks ago
Hi Jyotin,
  • TTL
  • If I remember correctly, the schema expects the TTL being specified in hours: there may be a misalignement in the Configurator GUI. Be aware that just specifying the TTL dsoes not get the entries deleted, in particular when usign the MySQL backend. The current idea is not to have the ConfigurationMaganger or EventSubscriber devices triggering this action, but to periodically run a SQL script on the backend in order to have the expired data deleted. Looks like this SQL script is not on github; maybe Graziano can provide some more detail.
  • LighSchema
  • Iour findings are consistent to my understanding, except that for having the EventSubscriber switch to the LightSchema a device restart should be sufficient (no need to remove the Attribute from archiving). Also in this case the archiving engine does not mess around with the pre-existing archive schema: if you want to drop those columns definitely you are supposed to drop them in the DB schema (by hand).
  • Partition and Maintenance scripts
  • The one you're referring is not a partitioning or maintenance script, but a configuration one. Just checked and partitioning scripts are not on github, maybe Sergi (from Alba), who's been playing with this stuff, can point you to the right place.

Hi Lorenzo,

Thank you for clarifying the understanding. I will wait for Graziano and Sergi to reply on this thread.

You are right in specifying that restart of Event Subscriber device server is enough to absorb change in lightschema property. There is no need to remove the attribute from archiving.

Kind regards,
Hello All,

After installing the Archiving solution with MySQL, I am trying my hand at the Extraction solution (HDB Viewer).

I have observed that HDB Viewer is not compatible with the MySQL lightschema feature. (I see database queries that expect recv_time and insert_time timestamps in the HDB Viewer source code - org.tango.jhdb.MySQLSchema and it throws a java.sql.Timestamp exception for Invalid Date format because of zeros in the aforementioned columns.)

Are there any near time plans to support HDB Viewer with the lightschema feature?

Kind regards,
Edited 3 weeks ago
Register or login to create to post a reply.