Changing fetching scheme for CDB objects to first check if the entry exists and avoid...
authoraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Feb 2010 14:41:43 +0000 (14:41 +0000)
committeraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Feb 2010 14:41:43 +0000 (14:41 +0000)
HLT/MUON/AliHLTMUONProcessor.cxx

index 6dc71a8..1b28037 100644 (file)
@@ -329,10 +329,16 @@ int AliHLTMUONProcessor::FetchTMapFromCDB(const char* pathToEntry, TMap*& map) c
 
        Int_t version = store->GetLatestVersion(pathToEntry, GetRunNo());
        Int_t subVersion = store->GetLatestSubVersion(pathToEntry, GetRunNo(), version);
-       AliCDBEntry* entry = AliCDBManager::Instance()->Get(pathToEntry, GetRunNo(), version, subVersion);
+       AliCDBId* entryId = AliCDBManager::Instance()->GetId(pathToEntry, GetRunNo(), version, subVersion);
+       if (entryId == NULL)
+       {
+               HLTError("Could not find the CDB entry for \"%s\".", pathToEntry);
+               return -ENOENT;
+       }
+       AliCDBEntry* entry = AliCDBManager::Instance()->Get(*entryId);
        if (entry == NULL)
        {
-               HLTError("Could not get the CDB entry for \"%s\".", pathToEntry);
+               HLTError("Could not fetch the CDB entry for \"%s\".", pathToEntry);
                return -EIO;
        }
        
@@ -691,10 +697,16 @@ int AliHLTMUONProcessor::LoadRecoParamsFromCDB(AliMUONRecoParam*& params) const
        const char* pathToEntry = "MUON/Calib/RecoParam";
        Int_t version = store->GetLatestVersion(pathToEntry, GetRunNo());
        Int_t subVersion = store->GetLatestSubVersion(pathToEntry, GetRunNo(), version);
-       AliCDBEntry* entry = AliCDBManager::Instance()->Get(pathToEntry, GetRunNo(), version, subVersion);
+       AliCDBId* entryId = AliCDBManager::Instance()->GetId(pathToEntry, GetRunNo(), version, subVersion);
+       if (entryId == NULL)
+       {
+               HLTError("Could not find the CDB entry for \"%s\".", pathToEntry);
+               return -ENOENT;
+       }
+       AliCDBEntry* entry = AliCDBManager::Instance()->Get(*entryId);
        if (entry == NULL)
        {
-               HLTError("Could not get the CDB entry for \"%s\".", pathToEntry);
+               HLTError("Could not fetch the CDB entry for \"%s\".", pathToEntry);
                return -EIO;
        }