You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

This process assumes that there has been a successful run of the RePipe task for the Run in question.  If the run is less than 30 days old, you might be able to do the repiping and reprocessing by L1 using the instructions on Instructions for rolling back a halfPipe stream and susbsequent L1 stream.  Try that first.

The following instructions are adapted from instructions provided by Maria Elena (the original e-mail with her instructions is included at the end of the page).  I've adapted it to use some environment variables to save a bunch of typing. After setting the environment variables in step 1, you can just copy and paste most of these commands (expect the ones in step 6).

These instructions assume you are logged in as glastraw

1) Set up some environment variables for the run and deliveries.

setenv rn <run number> e.g. 569213577

setenv dn1 <first delivery number> e.g. 190115006

setenv dn2 <second delivery number>

Note: Usually any given run will span two deliveries.  If it only spans one, you only have to do the following for the single run.  if the run spans three deliveries, just add a third one (i.e. dn3) and a third copy of each of the commands in the following steps, adjusting as needed.

2) Move to the staging area

cd /nfs/farm/g/glast/u28/stage

3) Create the staging directories that would have been created by the half-pipe.

mkdir -p $dn1/r0$rn $dn2/r0$rn

4) Copy over the event lists

cp ../RePipe/$rn/r0$rn/r0$rn-delivered.txt $dn1/r0$rn/r0${rn}_events_$dn1.txt

cp ../RePipe/$rn/r0$rn/r0$rn-delivered.txt $dn2/r0$rn/r0${rn}_events_$dn2.txt

5) Copy over the retired runs lists

cp ../RePipe/$rn/r0$rn/r0${rn}-retired.txt $dn1/retired_runs_$dn1.txt

cp ../RePipe/$rn/r0$rn/r0${rn}-retired.txt $dn2/retired_runs_$dn2.txt

6) Copy over the magic7 data

cp /nfs/farm/g/glast/u41/L1/runs/<first 3 digits of run number>/r0$rn/r0${rn}_${dn1}_v000_magic7Hp.txt $dn1/magic7_$dn1.txt

cp /nfs/farm/g/glast/u41/L1/runs/<first 3 digits of run number>/r0$rn/r0${rn}_${dn2}_v001_magic7Hp.txt $dn1/magic7_$dn2.txt

Note that the version number might be larger than v000 or v001, and there might be multiple versions for any given directory if the run had to rolled back, so you should check the run directory to see what the largest version number is for each delivery.

7) Copy over the event files

mv ../RePipe/$rn/r0$rn/r0${rn}-e00000000000000* $dn1/r0$rn/

mv ../RePipe/$rn/r0$rn/r0${rn}-e000000000000* $dn2/r0$rn/

Just to be safe, do an ls ../RePipe/$rn/r0$rn/ just to make sure no .evt files were left in the the RePipe directory.  If they were, move them to the last downlink directory.

Note: if the run spanned three deliveries, you'll need to distribute some of the files from the second mv command to the third delivery directory.  If there was only one, you can leave out all the 0's before the wildcard '*' in the first command.

8) Then follow the instructions on this page - Instructions for rolling back a halfPipe stream and susbsequent L1 stream - starting at the "Fix the Chunk Lists" section, with the following variations in the "Fix the Failed L1Proc Streams" section.

a) There won't be any run locks so just roll back the stream you want to start first. (if there is a run lock, you don't need to make any changes to the instructions on the linked page)

b) Wait until the findChunk process is running (this will create a lock file).

c) Roll back all the other streams.

Note: if you roll back from the findChunks process, all the old messages for the run will be there including the error messages.  If you just roll back the stream, the messages are reset.  Either way works, just be aware of the message dates when looking at logs if you rolled back from findChunks.

9) Once the streams are rolled back you need to create a dummy chunktoken as the RePipe process doesn't create them.

touch /nfs/farm/g/glast/u28/stage/chunktokens/r0$rn/pippo

This file also needs to be removed manually once the last of the deliveries has finished processing. Otherwise the cleanupCompleteRun process won't start. M.E originally said after if started processing but the last run didn't finish properly (checkRun still failed) if it wasn't there.

10) Once all the L1Proc streams have finished run the following command

/afs/slac/g/glast/ground/bin/pipeline --mode PROD createStream --stream <run number> --define "runNumber=<run number>,l1RunStatus=Complete" setL1Status

to set the run completion status to "Complete"

11) Notify the data quality shifter that the run is ready to be reviewed.

 

 

Original e-mail:

Ok, here's how to create empty halfPipe folders after Re-Piping:
 
cd /nfs/farm/g/glast/u28/stage
mkdir 181122013 181122014
mkdir 181122013/r0564602913 181122014/r0564602913
cp ../RePipe/564602913/r0564602913/r0564602913-delivered.txt 181122013/delivered_events_181122013.txt
cp ../RePipe/564602913/r0564602913/r0564602913-delivered.txt 181122014/delivered_events_181122014.txt
cp ../RePipe/564602913/r0564602913/r0564602913-retired.txt 181122013/retired_runs_181122013.txt
cp ../RePipe/564602913/r0564602913/r0564602913-retired.txt 181122014/retired_runs_181122014.txt
cp /nfs/farm/g/glast/u41/L1/runs/564/r0564602913/r0564602913_181122013_v000_magic7Hp.txt 181122013/magic7_181122013.txt
cp /nfs/farm/g/glast/u41/L1/runs/564/r0564602913/r0564602913_181122014_v001_magic7Hp.txt 181122014/magic7_181122014.txt
mv ../RePipe/564602913/r0564602913/r0564602913-e00000000000000* 181122013/r0564602913/
mv ../RePipe/564602913/r0564602913/r0564602913-e0000000000000* 181122014/r0564602913/
 
Then proceed as usual with making new chunk lists etc.
 
Or course this specific run is the *wrong* example because it was created with L1Proc/5.6, so in the end I didn't go
through with the actual L1 reprocessing. But this is how you would do the thing with the folders.
  • No labels