}
Int_t path1 = GetCurrentRun()/10000;
- fStatusEntry = AliCDBManager::Instance()->GetStorage(GetLocalCDB())
- ->Get(Form("/SHUTTLE/%s/%d", fCurrentDetector.Data(), path1), GetCurrentRun());
+ try{
+ fStatusEntry = AliCDBManager::Instance()->GetStorage(GetLocalCDB())
+ ->Get(Form("/SHUTTLE/%s/%d", fCurrentDetector.Data(), path1), GetCurrentRun());
+ } catch(std::exception& x) {
+ AliInfo("%s",x.what());
+ }
if (!fStatusEntry) return 0;
fStatusEntry->SetOwner(1);
AliCDBEntry* AliCDBGrid::GetEntry(const AliCDBId& queryId) {
// get AliCDBEntry from the database
+ Printf("Entering AliCDBGrid::GetEntry");
+
AliCDBId* dataId = GetEntryId(queryId);
- if (!dataId) return NULL;
+ if (!dataId){
+ AliFatal(TString::Format("No valid CDB object found! request was: %s", queryId.ToString().Data()));
+ return NULL;
+ }
TString filename;
if (!IdToFilename(*dataId, filename)) {
AliDebug(2,Form("Bad data ID encountered! Subnormal error!"));
delete dataId;
+ AliFatal(TString::Format("No valid CDB object found! request was: %s", queryId.ToString().Data()));
return NULL;
}
AliCDBEntry* anEntry = GetEntryFromFile(filename, dataId);
delete dataId;
+ if(!anEntry){
+ Printf("follows an alifatal");
+ AliFatal(TString::Format("No valid CDB object found! request was: %s", queryId.ToString().Data()));
+ }
+
return anEntry;
}
/////////////////////////////////////////////////////////////////////////////////////////////////
#include <cstdlib>
+#include <stdexcept>
+
#include <TSystem.h>
#include <TObjString.h>
#include <TRegexp.h>
#include "AliCDBLocal.h"
#include "AliCDBEntry.h"
#include "AliLog.h"
+using namespace std;
ClassImp(AliCDBLocal)
AliCDBId* dataId = GetEntryId(queryId);
- if (!dataId || !dataId->IsSpecified()) return NULL;
+ TString errMessage(TString::Format("No valid CDB object found! request was: %s", queryId.ToString().Data()));
+ if (!dataId || !dataId->IsSpecified()){
+ throw std::runtime_error(errMessage.Data());
+ return NULL;
+ }
TString filename;
if (!IdToFilename(*dataId, filename)) {
AliDebug(2,Form("Bad data ID encountered! Subnormal error!"));
delete dataId;
+ throw std::runtime_error(errMessage.Data());
return NULL;
}
if (!file.IsOpen()) {
AliDebug(2,Form("Can't open file <%s>!", filename.Data()));
delete dataId;
+ throw std::runtime_error(errMessage.Data());
return NULL;
}
AliDebug(2,Form("Bad storage data: No AliCDBEntry in file!"));
file.Close();
delete dataId;
+ throw std::runtime_error(errMessage.Data());
return NULL;
}
// Check whether entry contains a TTree. In case load the tree in memory!
LoadTreeFromFile(anEntry);
- // close file, return retieved entry
+ // close file, return retrieved entry
file.Close();
delete dataId;
+
return anEntry;
}
if (oldStatus != kFALSE)
TH1::AddDirectory(kTRUE);
- if (entry) {
- // this is to make the SHUTTLE output lighter
- if(!(query.GetPath().Contains("SHUTTLE/STATUS")))
- AliDebug(2, Form("CDB object retrieved: %s", entry->GetId().ToString().Data()));
- } else {
- // this is to make the SHUTTLE output lighter
- if(!(query.GetPath().Contains("SHUTTLE/STATUS"))){
-
- if(!(query.GetPath().Contains("SHUTTLE"))){
- AliFatal(Form("No valid CDB object found! request was: %s", query.ToString().Data()));
- }
- else {
- AliInfo(Form("No valid CDB object found! request was: %s", query.ToString().Data()));
- }
- }
- }
-
// if drain storage is set, drain entry into drain storage
if(entry && (AliCDBManager::Instance())->IsDrainSet())
AliCDBManager::Instance()->Drain(entry);
// in the trigger or that are needed in order to put correct
// information in ESD
AliCDBManager::Instance()->GetAll("TRIGGER/*/*");
+ AliCDBManager::Instance()->GetAll("HLT/*/*");
return kTRUE;
}