From 1d6a841b061992f6167188056fc4ee1bcbc6490f Mon Sep 17 00:00:00 2001
From: Scott Snyder <scott.snyder@cern.ch>
Date: Sat, 15 Jun 2019 23:26:00 +0000
Subject: [PATCH] CoolLumiUtilities: Handle zero-sized blob in
 BunchLumisCondAlg.

Zero-sized blobs in the input to BunchLumisCondAlg can occur in cosmics
data --- don't treat that as an error.

See ATLASRECTS-5000.
---
 Database/CoolLumiUtilities/src/BunchLumisCondAlg.cxx | 4 ++--
 LumiBlock/LumiBlockComps/src/LuminosityCondAlg.cxx   | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Database/CoolLumiUtilities/src/BunchLumisCondAlg.cxx b/Database/CoolLumiUtilities/src/BunchLumisCondAlg.cxx
index 845aad0c83e..b25ca673675 100644
--- a/Database/CoolLumiUtilities/src/BunchLumisCondAlg.cxx
+++ b/Database/CoolLumiUtilities/src/BunchLumisCondAlg.cxx
@@ -235,8 +235,8 @@ BunchLumisCondAlg::execute (const EventContext& ctx) const
 
     const coral::Blob& blob = attrList["BunchRawInstLum"].data<coral::Blob>();
     if (blob.size() == 0) {
-      ATH_MSG_ERROR( "BunchRawInstLumi blob found with zero size for channel " << channel << "!" );
-      return StatusCode::FAILURE;
+      ATH_MSG_DEBUG( "BunchRawInstLumi blob found with zero size for channel " << channel << "!" );
+      continue;
     }
 
     // Make sure the scale factor exists (needed below to unpack integer blob schemes)                        
diff --git a/LumiBlock/LumiBlockComps/src/LuminosityCondAlg.cxx b/LumiBlock/LumiBlockComps/src/LuminosityCondAlg.cxx
index b72d4a96f35..5c43c922d9b 100644
--- a/LumiBlock/LumiBlockComps/src/LuminosityCondAlg.cxx
+++ b/LumiBlock/LumiBlockComps/src/LuminosityCondAlg.cxx
@@ -110,9 +110,9 @@ LuminosityCondAlg::updateAvgLumi (const CondAttrListCollection& lumiData,
   bunchInstLumiBlob = nullptr;
 
   const coral::AttributeList& attrList = lumiData.attributeList (m_lumiChannel);
-  if (attrList["Valid"].isNull()) {
-    ATH_MSG_ERROR ("Can't find luminosity information for channel " << m_lumiChannel);
-    return StatusCode::FAILURE;
+  if (attrList.size() == 0 || attrList["Valid"].isNull()) {
+    ATH_MSG_DEBUG ("Can't find luminosity information for channel " << m_lumiChannel);
+    return StatusCode::SUCCESS;
   }
 
   if (msgLvl (MSG::DEBUG)) {
-- 
GitLab