Details
-
Type:
Bug
-
Status: Invalid
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: afw, meas_base, pipe_tasks
-
Labels:None
-
Team:Architecture
Description
In upgrading cftisio to a newer version, test_exposure.py fails in testing the read output:
https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/30666/tests
DM-21989 will be blocked by this.
The particular part of the test that fails seems to have been exposed by work done in DM-17982 but it's likely the underlying issue is due to a change of serialization in cfitsio.
In DM-20864 it was also discovered that in pipe_tasks, the metadata for "base_CircularApertureFlux_radii" seems to have been persisted in uppercase, so the unit test in tests/nopytest_test_coadds.py would fail. The hack to get past that was to uppercase the key.
This all seems possibly related to HIERARCH handling in CFITSIO, in that it's likely some keywords are persisted to a file as uppercase, so when retrieving information from that file the key had to be uppercased. I suspect this may possibly be related to the previous mentioned issue in afw.
I'd be happy to deal with the ExposureInfo side of things. I'm not very familiar with pipe_task or measurement plugins.
I think banning lower case names (in ExposureInfo.setComponent) is the most forward-compatible solution; if we make ExposureInfo keys case-insensitive, client code may start relying on it and we won't be able to change it later.