Skip to content

[Feature]: HDF5-specific information should be moved out of DataStoreConf #305

Description

@jcfreeman2

Description

Basically, this Issue can be considered a recommendation that HDF5-specific configuration not be bundled along with more generic data store configuration (e.g. max file size or output directory). It can be thought of as the OKS parallel to DUNE-DAQ/dfmodules#496 (implemented via DUNE-DAQ/dfmodules#497).

Potential impact radius

Medium

Reason for change

If we ever end up writing to a different file format than HDF5, it'll be confusing if HDF5's configuration retains the generic DataStoreConf name.

Suggested implementations

A possible implementation might give us something like:

 <class name="HDF5DataStoreConf">
  <superclass name="FileDataStoreConf"/>
  <relationship name="file_layout_params" class-type="HDF5FileLayoutParams" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
 </class>

where FileDataStoreConf would basically be the original DataStoreConf with HDF5FileLayoutParams removed:

 <class name="FileDataStoreConf">
  <attribute name="type" type="string"/>
  <attribute name="directory_path" description="The base directory for saving files" type="string" is-not-null="yes"/>
  <attribute name="mode" description="The operation mode that the DataStore should use when organizing the data into files" type="enum" range="all-per-file,one-event-per-file" init-value="all-per-file" is-not-null="yes"/>
  <attribute name="max_file_size" type="u64" init-value="0" is-not-null="yes"/>
  <attribute name="disable_unique_filename_suffix" type="bool" init-value="false"/>
  <attribute name="free_space_safety_factor" type="s32" init-value="0" is-not-null="yes"/>
  <attribute name="compression_level" type="u8" init-value="0" is-not-null="yes"/>
  <relationship name="filename_params" class-type="FilenameParams" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
 </class>

Testing suggestions

Regression testing.

Anything else?

I choose the group "Dataflow" in the sidebar since this is being filed under the umbrella of the file formats review Wes proposed a couple months ago; however I also acknowledge that this very much has a CCM impact.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions