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.
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
DataStoreConfname.Suggested implementations
A possible implementation might give us something like:
where
FileDataStoreConfwould basically be the originalDataStoreConfwithHDF5FileLayoutParamsremoved: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.