[SOLVED] [hdb-configurator-3.5] Event tango not found in event callback map

Hi,

In hdbpp-configurator-3.5, I am trying to add /sys/tg_test/1/double_scalar to the subscriber tango://127.0.0.1:10000/archiving/hdb++/eventsubscriber.1

At the first sight, it seems to work because there are new records in MariaDB, but indeed something goes wrong:
  • there are many invalid records in the table
  • MariaDB [hdbpp]> SELECT * FROM att_scalar_devdouble_rw LIMIT 10;
    
    +————-+—————————-+—————————-+—————————-+——————–+———+———+——————-+
    | att_conf_id | data_time                  | recv_time                  | insert_time                | value_r            | value_w | quality | att_error_desc_id |
    +————-+—————————-+—————————-+—————————-+——————–+———+———+——————-+
    |           1 | 2018-07-17 15:49:11.957972 | 2018-07-17 15:49:11.958252 | 2018-07-17 15:49:11.958656 | 127.99990194873746 |       0 |       0 |              NULL |
    |           1 | 2018-07-17 15:49:23.942568 | 2018-07-17 15:49:23.942568 | 2018-07-17 15:49:23.955051 |               NULL |    NULL |       1 |                 1 |
    |           1 | 2018-07-17 15:49:23.880298 | 2018-07-17 15:49:23.943543 | 2018-07-17 15:49:23.955949 | 146.83545950421603 |       0 |       0 |              NULL |
    |           1 | 2018-07-17 15:49:33.952965 | 2018-07-17 15:49:33.952965 | 2018-07-17 15:49:33.953358 |               NULL |    NULL |       1 |                 1 |
    |           1 | 2018-07-17 15:49:33.878668 | 2018-07-17 15:49:33.953272 | 2018-07-17 15:49:33.953842 | 164.55351243782874 |       0 |       0 |              NULL |
    |           1 | 2018-07-17 15:49:43.968764 | 2018-07-17 15:49:43.968764 | 2018-07-17 15:49:43.969423 |               NULL |    NULL |       1 |                 1 |
    |           1 | 2018-07-17 15:49:43.877086 | 2018-07-17 15:49:43.969415 | 2018-07-17 15:49:43.970337 | 181.01921589595074 |       0 |       0 |              NULL |
    |           1 | 2018-07-17 15:49:53.977690 | 2018-07-17 15:49:53.977690 | 2018-07-17 15:49:53.977906 |               NULL |    NULL |       1 |                 1 |
    |           1 | 2018-07-17 15:49:53.877201 | 2018-07-17 15:49:53.977922 | 2018-07-17 15:49:53.978190 |   196.107256144564 |       0 |       0 |              NULL |
    |           1 | 2018-07-17 15:50:03.989925 | 2018-07-17 15:50:03.989925 | 2018-07-17 15:50:03.990642 |               NULL |    NULL |       1 |                 1 |
    +————-+—————————-+—————————-+—————————-+——————–+———+———+——————-+
    10 rows in set (0.00 sec)
    
  • I receive the following messages in the console
  • No entry in channel map for heartbeat tango://127.0.0.1:10000/dserver/tangotest/test
    Event tango://127.0.0.1:10000/sys/tg_test/1/double_scalar.idl5_archive not found in event callback map !!!
    
  • I have to enable [x] View Errors in hdb-viewer to see the plot, otherwise I have a blank plot

According to this post, the map of registered callbacks is a part of the internals of Tango. So I am little puzzled.

If someone could give me a hint to go further, it would be very appreciated.


Sebastien

Context:
I am developing my own script to build Tango and HDB++ from the sources. My target operating system is Debian 9.
Sebastien
Edited 1 year ago
Hi Sébastien,

You get errors stored in the database because you got some heartbeat issues.
It looks like your system is currently not well configured for TANGO events.

It looks like you are using 127.0.0.1:10000 as TANGO_HOST.
Please note that if you do so, you will be able to use events only locally on this computer. If you have several computers on your system, you should rather use something like TANGO_HOST=<TANGO_DB_HOST_NAME>:10000 instead.
If you decide to use 127.0.0.1:10000 as TANGO_HOST, it is very important that you use the same string as TANGO_HOST environment variable when you start your device servers and clients.
You should not mix TANGO_HOST like 127.0.0.1:10000 and TANGO_HOST like localhost:10000 when starting your clients and servers.
There are still some issues in these specific cases. The best is simply to use always the same string as TANGO_HOST when starting clients and servers.

If you intend to work in a distributed environment, I strongly advise to avoid using 127.0.0.1:10000 and localhost:10000 as TANGO_HOST. You should rather use the name of the computer where your Tango database server is running instead of localhost/127.0.01. This way, you will be able to get Tango events exchanged between several computers on your network.

I hope it helps a bit.
Reynald
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.
Hi Reynald,

My goal is to create something similar to Tango VM for testing, therefore I use TANGO_HOST=localhost:10000
I was using 127.0.0.1 to avoid IPv6 issues, but finally I have removed the IPv6 line for localhost

I understand that there is a map with the URL somewhere in Tango internals, so he cannot realize that 127.0.0.1 and localhost are the same machine.

After replacing all occurrences of 127.0.0.1 by localhost, it works better but I have still some issues because some programs try to use the hostname instead of localhost.
After using the real hostname, it seems to work: I can plot the data in hdb-viewer.
It means that HDB++ is very picky with hostnames and IP aliases.

Your post was very helpful. Thank you very much

Regards,

Sebastien
Sebastien
 
Register or login to create to post a reply.