Project

General

Profile

Feature #9378

Change default exception handling

Added by Herbert Greenlee over 5 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Application
Target version:
Start date:
07/07/2015
Due date:
% Done:

100%

Estimated time:
Spent time:
Scope:
Internal
Experiment:
MicroBooNE
SSI Package:
art
Duration:

Description

Change the default value of fcl parameter services.scheduler.defaultExceptions from true to false.

I am going to change all microboone production fcl files anyway, but I thought it would be worth to have this debate in the art stakeholders meeting.


Related issues

Related to art - Feature #9348: service missing exception NotFound does action SkipEvent instead of stopping programClosed07/09/2015

History

#1 Updated by Kyle Knoepfel over 5 years ago

  • Related to Feature #9348: service missing exception NotFound does action SkipEvent instead of stopping program added

#2 Updated by Christopher Green over 5 years ago

  • Category set to Application
  • Status changed from New to Feedback
  • SSI Package art added
  • SSI Package deleted ()

Currently collecting feedback from an email to stakeholders (text below):

Dear stakeholders,

Issue #9378 requests that the default exception handling be adjusted for certain error cases. The initiating issue is #9348, where an invalid ServiceHandle request triggered an exception whose handling resulted in skipping the event instead of the preferred behavior, which was to rethrow.

Here, “rethrow" means to attempt a graceful shutdown, calling endSubRun, endRun, endJob, the relevant destructors, and properly closing all files. In most cases, this ensures that any TFileService-generated file is readable, that any data-product ROOT output file is readable, and that any generated log files are complete.

We are thus asking the stakeholders to comment the following question. Which of the following exceptions, whose default handlings correspond to “SkipEvent”, should instead be changed to “Rethrow”?

ProductNotFound (used in product retrieval)
InvalidReference (used in art::Ptr object retrieval)
NullPointerError (used in retrieving principals)
EventTimeout (not used in art/artdaq)
DataCorruption (used in I/O)
ServiceNotFound (new exception case to resolve #9348)
NotFound (used primarily for metadata retrieval)

Thank you,
Kyle (for the artists)

#3 Updated by Kyle Knoepfel about 3 years ago

  • Status changed from Feedback to Closed
  • Assignee set to Kyle Knoepfel
  • Target version set to 2.09.00
  • % Done changed from 0 to 100

Per stakeholder agreement, all SkipEvent default actions have been removed. Note that it is still possible to specify a SkipEvent action for a given exception through the configuration (e.g.):

services.scheduler.SkipEvent: [ProductNotFound, ...] # sequence of exception categories

Implemented with commit art:7df67f7d.

Also available in: Atom PDF