From fa25660053319acf889b39d801def221c8e6b64d Mon Sep 17 00:00:00 2001
From: Chris Burr <christopher.burr@cern.ch>
Date: Fri, 25 Oct 2024 09:00:24 +0200
Subject: [PATCH] fix: Returning S_ERROR from NewOracleBookkeepingDB

---
 .../BookkeepingSystem/Service/BookkeepingManagerHandler.py   | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/LHCbDIRAC/BookkeepingSystem/Service/BookkeepingManagerHandler.py b/src/LHCbDIRAC/BookkeepingSystem/Service/BookkeepingManagerHandler.py
index 373051d183..e6f8664c4d 100644
--- a/src/LHCbDIRAC/BookkeepingSystem/Service/BookkeepingManagerHandler.py
+++ b/src/LHCbDIRAC/BookkeepingSystem/Service/BookkeepingManagerHandler.py
@@ -477,6 +477,11 @@ class BookkeepingManagerHandlerMixin:
         else:
             retVal = self._getFilesWithMetadata(in_dict)
 
+        if not retVal["OK"] and "ExecInfo" in retVal:
+            # ExecInfo isn't encodable by DEncode or JEncode and it's normally dropped
+            # transparently by the RPC mechanism. As we're doing it by hand here we need
+            # to remove it explicitly.
+            retVal.pop("ExecInfo")
         fileString = JEncoder.dumps(retVal)
 
         retVal = fileHelper.stringToNetwork(fileString)
-- 
GitLab