Tango Archiving

Hi Rapheal

Thanks for your instant reply.
I got your point,Mambo is not designed to work with multiple hosts. But one of my project requirement is to archive from devices of different hosts. If not from mambo, how can i achieve this functionality ? Is there any workaround to do so ?

Thanks and Regards
TCS-GMRT Team

Let’s just say it is a bit tricky :
If you are sure the same device full name won’t appear in 2 different tango hosts, then you can register Archivers on each tango host, and configure them the same way, so that they all archive on the same database.
But then, you will have to remember which device comes from which tango host, as it is not saved in database.

Otherwise, the solution is to have 1 archiving system per tango host, and make a custom mambo script to force the tango host you want to use.

(You have to do a custom mambo script only if you want to check your tango hosts/ databases from the same computer)

Are you sure you are talking about the same concept when you say hosts?

GMRT, do you mean different computers but all using the same TANGO_HOST or do you devices with different TANGO_HOST running on different computer hosts? It is not clear in your question.

If you mean devices from different TANGO_HOSTS then the new HDB++ archiving system supports this feature.

Raphael is the expert for everything concerning HDB so ignore my previous answer!

Andy

Hi Rapheal

My device name won’t be same in two different hosts. I have registered the archiver in the multiple tango hosts. There is one archiving system per host also.
I didn’t get what you mean by configuring the archiver the same way.

In host 1 , I have to archive the attributes of host 1
In host 2 , I have to archive the attributes of host 2
In host 3 , I have to archive the attributes of host1, host2 and host3 as well.

Also I have found When i archive around 40-50 parameters in HDB, it results in slowing of mambo.

I found the below errors when I archive more than 20 parameters
03-09-15 19:43:43.289 - ERROR: Message :
[1] :
Reason : org.omg.CORBA.TIMEOUT: client timeout reached vmcid: 0x0 minor code: 0 completed: No
Severity : ERROR
Description : Device (archiving/hdb/hdbarchiver.01_01) timed out (>7000 ms)!
Origin : archiving/hdb/hdbarchiver.01_01.class fr.esrf.TangoApi.ConnectionDAODefaultImpl.command_inout)

The attributes are archived but the error is coming in the log console of mambo.

Please do help.

Thanks and Regards
TCS-GMRT Team

Hi Andy/Rapheal

Please can u share the link from where i can download HDB++. But does HDB++ supports mysql ? Also where can I found the documents related to HDB++.

Thanks and Regards
TCS-GMRT Team

[quote=“TCS_GMRT”]Hi Rapheal

My device name won’t be same in two different hosts. I have registered the archiver in the multiple tango hosts. There is one archiving system per host also.
I didn’t get what you mean by configuring the archiver the same way.
[/quote]
I meant you will have to configure them to work with the same database (through the device class properties and the device properties), whatever the tango host.

[quote=“TCS_GMRT”]In host 1 , I have to archive the attributes of host 1
In host 2 , I have to archive the attributes of host 2
In host 3 , I have to archive the attributes of host1, host2 and host3 as well.[/quote]
Run 1 mambo per tango host, and configure your archiving on each one. You won’t have the possibility to configure the archiving of host1, host2 and host3 from host3, unless you use Proxy devices (available in tango-ds), which will reproduce your attributes from host1 and host2 on devices of host3.

[quote=“TCS_GMRT”]
Also I have found When i archive around 40-50 parameters in HDB, it results in slowing of mambo.

Thanks and Regards
TCS-GMRT Team[/quote]
Yes, there is a limit in what mambo can manage at a time. I suggest splitting archiving configurations that contain too many attributes.

[quote=“TCS_GMRT”]In host 1 , I have to archive the attributes of host 1
In host 2 , I have to archive the attributes of host 2
In host 3 , I have to archive the attributes of host1, host2 and host3 as well.[/quote]

I don’t know why you have multiple TANGO_HOSTs if you only have 3 computers running device servers. I reiterate my question - do you mean computers or TANGO_HOSTs. These are not the same. Can you send us a picture of your control system layout with the TANGO_HOST and computer hosts clearly marked.

We have one TANGO_HOST for hundreds of computer hosts and thousands of devices and servers.

Andy

HDB++ is not released yet but soon will be. To find out more check out the presentations at the previous TANGO meetings in Poland and Grenoble.

Andy

Hi Andy

[quote]I don’t know why you have multiple TANGO_HOSTs if you only have 3 computers running device servers. I reiterate my question - do you mean computers or TANGO_HOSTs. These are not the same. Can you send us a picture of your control system layout with the TANGO_HOST and computer hosts clearly marked.

We have one TANGO_HOST for hundreds of computer hosts and thousands of devices and servers. [/quote]

We have three different computers and 3 different tango hosts. So
In host1 and host2 , I have to archive the parameters of host1 and host2 respectively whereas in host3 I have to archive the parameters of host1, host2 and host3.

Thanks and Regards
TCS-GMRT Team

Hi Rapheal

Actually I have around 200 parameters to archive per tango host. So its not suggestible to split archiving configuration.

Here are few other queries:
1.) Is there any API provided to start/stop archiving without using mambo.

2.) Are there any other archiving tools available other than ArchivingRoot-15.2.1 so that I can explore that as well ?

Thanks and Regards
TCS-GMRT Team

AFAIK there are Python and C++ tools from ALBA and ELETTRA. I let them answer you with the details.

New tools are being developed for HDB++ with an api for Java and C++.

Andy

Thankyou Andy

Thanks and Regards
TCS-GMRT Team

Hi Rapheal

[quote]
Otherwise, the solution is to have 1 archiving system per tango host, and make a custom mambo script to force the tango host you want to use.

(You have to do a custom mambo script only if you want to check your tango hosts/ databases from the same computer)[/quote]

I have 1 archiving system per tango host and and using custom mambo script to force the tango host i want to use.
But the problem here is:

Lets say
I have to:

PC1 - Archive attributes of Tangohost1:port1 in Databasehost1
PC2 - Archive attributes of Tangohost1:port1, Tangohost2:port2 in Databsehost2

I am using custom mambo script in PC2 in which I am forcing the host to Tangohost1:port1 and opened mambo from here. With this, I can see the device servers of PC1, but the problem here is that
1.) when I start archiving the attributes of PC1 in PC2, its values are stored in databasehost1, not in databasehost2.
2.) I cant stop archiving the attributes of PC1 from PC2 (though message in the mambo console shows archiving successfully stopped), it has to stopped from PC1 (Don’t Know Why)
3.) When I start archiving the attributes of PC1 in PC2 , archiving starts in PC1 but it doesn’t reflect in PC2 (the bulb is still grey)

Thanks and Regards
TCS-GMRT Team

Your basic problem is that it is not mambo which archives the attributes, but the archivers.
Your archivers know in which database to store the data. So if mambo sees the attributes of PC1, it sees the archivers of PC1, which will store data in database1.
There is no way you can change that.
Your only solution is to use 1 single archiving database (as I proposed you, and this is what I meant when I said you have configure the archivers the same way), not 1 per tango host.

Hi Rapheal

I know that the archivers archive the attributes. I am just telling the problem i am facing by using mambo.
My requirement is to have 1 archiving system per tango host, not single archiving system across all hosts. Is workaround possible for this type of requirement ?

Thanks and Regards
TCS-GMRT Team

If you have 1 archiving database per tango host, you have to use 1 mambo per tango host. I don’t see any other solution…

Hi Rapheal

1.) I am archiving nearly 150 attributes in HDB at 1 second (I have defined the shortPeriodAttributes in HdbArchiverClass Property).
Problem I am facing is, Its not uniformly archiving the attributes at 1 second means sometimes the archiving is at 1 second or 2 second or 4 second.
Similar problem i am facing in TDB.

2.) One more thing I need to clear, till what period TDB keeps the data ( I am not executing TDB-Cleaner script).
Actually the requirement is to keep data for longer period of time, lets say 5 years. So if i prefer to choose to do archiving at TDB, data wont get deleted for how much time ? because advantage of using TDB is, its archiving frequency is higher than hdb and also I dont have to define shortperiodatrributes property.

3.) I am trying to use difference mode in HDB/TDB. I am unable to set it without checking periodic mode. But I dont want to set periodic mode. Any Workaround possible ?

4.) I have around 6000 attributes to archive. How can it be done effectively using HDB/TDB archiver ?

5.) When can i expect the HDB++ release ? It must be having advantage above the present archiving suite.

Thanks and Regards
TCS_GMRT Team

Hi gmrt,
I’ll answer just to the fifth point. We’re planning some debian packages to be released before ICALEPCS 2015,
e.g. before mid october.

Cheers,
Lorenzo

Hello Rapheal

I have defined exportPeiod in class porperty of TdbArchiver.
I have defined as ExportPeriod=180000

Its exporting in database from .dat file in every 180 second.

I want to export some attribute at 180 second and some at 1 second.
I have changed the .ac xml file also in which i have defined exportPeriod according to my need.
But its still exporting to database at 180 second which i have defined in class property.

How can I have different export period for different attributes ?

Also I have posted some queries in my previous post which is still unsolved.
Waiting for your reply to solve my queries. Thankyou.

Thanks and Regards
TCS-GMRT TEAM

Hello All

1.) I am archiving nearly 150 attributes in HDB at 1 second (I have defined the shortPeriodAttributes in HdbArchiverClass Property).
Problem I am facing is, Its not uniformly archiving the attributes at 1 second means sometimes the archiving is at 1 second or 2 second or 4 second.
Similar problem i am facing in TDB.

2.)I am trying to use difference mode in HDB/TDB. I am unable to set it without checking periodic mode. But I don’t want to set periodic mode. Any Workaround possible ?

3.) I have around 6000 attributes to archive. How can it be done effectively using HDB/TDB archiver ?

4.) How can I have different export period for different attributes in TdbArchiver ? I tried to modify exportPeriod property in .ac file but it isn’t working.

Any help will be appreciated

Thanks and Regards
TCS-GMRT TEAM