From 241152253410667e63a4dd059ec875075f551661 Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Thu, 16 Mar 2023 11:27:40 -0500 Subject: [PATCH] Have ExternalGeneratorFilter throw an generator specific exception Looking at log files from failed jobs showed that the external failures at event time where all caused by the generators being run in the external process. Throwing a generator specific exception will cause cmsRun to exit with a specific code which will help evaluate failures in the production system. --- GeneratorInterface/Core/plugins/ExternalGeneratorFilter.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/GeneratorInterface/Core/plugins/ExternalGeneratorFilter.cc b/GeneratorInterface/Core/plugins/ExternalGeneratorFilter.cc index 8255a9932f6ac..303e284fd5031 100644 --- a/GeneratorInterface/Core/plugins/ExternalGeneratorFilter.cc +++ b/GeneratorInterface/Core/plugins/ExternalGeneratorFilter.cc @@ -77,8 +77,9 @@ namespace externalgen { if (not channel_.doTransition( [&value, &iDeserializer]() { value = iDeserializer.deserialize(); }, iTrans, iTransitionID)) { externalFailed_ = true; - throw cms::Exception("ExternalFailed") << "failed waiting for external process " << channel_.uniqueID() - << ". Timed out after " << channel_.maxWaitInSeconds() << " seconds."; + throw edm::Exception(edm::errors::EventGenerationFailure) + << "failed waiting for external process " << channel_.uniqueID() << ". Timed out after " + << channel_.maxWaitInSeconds() << " seconds."; } return value; }