Personal tools
You are here: Home Members TristanKing Tristan's blog Archive 2006 June 01 MCAT triggers progress

MCAT triggers progress

I've found the table that stores file information: mdas_ad_repl

MCAT can be set up to run a function when an INSERT, UPDATE or DELETE call is made on the table.

the function can be writen in a number of languages, including C and Python.

I've written a basic python test function that prints out the 'Trigger Data' dict object to a file.

Now when I do an Sput, Smv, etc the file gets appended with the data from that event.

Interestingly, when Sput is used, no matter how large the file, three events are triggered. an INSERT, which creates the entry for the new file, with a listed datasize of 0. then when the file is finished two UPDATE events are created. The first UPDATE seems to just update the file size to the correct file size. where the second UPDATE changes an attribute called 'is_dirty' to 2. The only description of this 'is_dirty' attribute is:

IS_DIRTY                      /* data has been changed in the container
compared to other copies */

which isn't very descriptive. I'm going to get on the SRB mailing list and fire off a question about this. But for now it looks like this could be the answer to telling when a file has finished uploading to the SRB.

Of course the issues Ian brought up still need to be addressed:

Weather the MCAT schema is stable, since changes to the database schema could break the triggers.

And what the deal is with using multiple MCAT servers. A test system might have to be set up to play with this

Posted by TristanKing on 2006-06-01 16:37

Trackback

The URI to TrackBack this entry is: #


dart@dart.edu.au | DART Project Office, Monash University, Victoria 3800, Australia; Telephone +61 3 9905 4187; Facsimile +61 3 9905 3024