GetFileSources returns empty list in case of no files, but successful query
[u/mrichter/AliRoot.git] / SHUTTLE / AliShuttleConfig.cxx
index 335ecd1cd66215ae4fe96576be56cc109bd41e08..28e5d4f73437fb318936d1081d077d57b7be4a03 100644 (file)
 
 /*
 $Log$
+Revision 1.20  2007/04/04 10:33:36  jgrosseo
+1) Storing of files to the Grid is now done _after_ your preprocessors succeeded. This is transparent, which means that you can still use the same functions (Store, StoreReferenceData) to store files to the Grid. However, the Shuttle first stores them locally and transfers them after the preprocessor finished. The return code of these two functions has changed from UInt_t to Bool_t which gives you the success of the storing.
+In case of an error with the Grid, the Shuttle will retry the storing later, the preprocessor does not need to be run again.
+
+2) The meaning of the return code of the preprocessor has changed. 0 is now success and any other value means failure. This value is stored in the log and you can use it to keep details about the error condition.
+
+3) New function StoreReferenceFile to _directly_ store a file (without opening it) to the reference storage.
+
+4) The memory usage of the preprocessor is monitored. If it exceeds 2 GB it is terminated.
+
+5) New function AliPreprocessor::ProcessDCS(). If you do not need to have DCS data in all cases, you can skip the processing by implemting this function and returning kFALSE under certain conditions. E.g. if there is a certain run type.
+If you always need DCS data (like before), you do not need to implement it.
+
+6) The run type has been added to the monitoring page
+
 Revision 1.19  2007/02/28 10:41:56  acolla
 Run type field added in SHUTTLE framework. Run type is read from "run type" logbook and retrieved by
 AliPreprocessor::GetRunType() function.
@@ -185,18 +200,20 @@ fStrictRunOrder(kFALSE)
                fStrictRunOrder = (Bool_t) strictRunStr.Atoi();
        }
 
-       anAttribute = entry->GetAttribute("responsible"); // MUST
+       anAttribute = entry->GetAttribute("responsible"); // MAY
         if (!anAttribute)
        {
-               AliError(Form("Invalid configuration! No \"responsible\" attribute!"));
-               return;
+               AliDebug(2, "Warning! No \"responsible\" attribute!");
         }
-       const char* aResponsible;
-       while ((aResponsible = anAttribute->GetValue()))
+       else
        {
-               fResponsibles->AddLast(new TObjString(aResponsible));
+               const char* aResponsible;
+               while ((aResponsible = anAttribute->GetValue()))
+               {
+                       fResponsibles->AddLast(new TObjString(aResponsible));
+               }
        }
-
+       
        anAttribute = entry->GetAttribute("DCSHost"); // MAY
        if (!anAttribute)
        {