Project

General

Profile

Feature #24543

In RootOutput, remove the requirement of %# pattern when fileProperties

Added by Rob Kutschke 4 months ago. Updated 3 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
06/17/2020
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Scope:
Internal
Experiment:
Mu2e
Duration:

Description

Mu2e is using RootOutput to split a stream of events into separate files, one file per subrun. The event stream is in art::EventID order so we will open and close output files in order and visit each subrun exactly once. We would like to name the output files using the pattern:

base_%6s.art

This is not currently possible because the fileProperties rules require the presence of the %# pattern. We request an option to make it legal to omit the requirement of the %# pattern.

We understand that if we misconfigure a job the RootOutput module may need to throw an exception, causing the job to stop. This is acceptable.

History

#1 Updated by Kyle Knoepfel 4 months ago

  • Assignee set to Kyle Knoepfel
  • Status changed from New to Assigned

#2 Updated by Kyle Knoepfel 4 months ago

  • Estimated time set to 2.00 h
  • Target version set to 3.06.00
  • Category set to Infrastructure

#3 Updated by Kyle Knoepfel 4 months ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved

Implemented with commit art_root_io:0bc54a8. The configuration parameter checkFileName has been added to both RootOutput and TFileService, with a default value of true. Upon typing 'art --print-description RootOutput', you will see the printout:

<module_label>: {
  module_type: RootOutput
  ...
  ## If file-switching has been enabled, the output filename pattern
  ## must have a '%#' format specifier by default.  This ensures that
  ## an output file will never be overwritten for a given job execution.
  ## 
  ## For some workflows, this restriction is unnecessary if the user can
  ## guarantee that the specified filename pattern will create distinct
  ## output files.
  ## 
  ## If 'checkFileName' is set to 'false', then the '%#' is
  ## not required even if file-switching has been enabled.  In this mode
  ## it is the user's responsibility to supply a filename pattern that
  ## will not result in output-file overwriting.
  ## 
  ## Do NOT set this to 'false' unless you know what you are doing!

  checkFileName: true  # default
}

#4 Updated by Kyle Knoepfel 4 months ago

  • Category deleted (Infrastructure)
  • Project changed from art to art_root_io

#5 Updated by Kyle Knoepfel 3 months ago

  • Target version changed from 3.06.00 to 1.04.00
  • Status changed from Resolved to Closed


Also available in: Atom PDF