-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
higher scrutiny on changes to RAW data formats #42719
Comments
A new Issue was created by @missirol Marino Missiroli. @Dr15Jones, @rappoccio, @smuzaffar, @makortel, @sextonkennedy, @antoniovilela can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
assign core, l1, hlt |
New categories assigned: core,hlt,l1 @epalencia,@mmusich,@missirol,@Dr15Jones,@smuzaffar,@aloeliger,@makortel,@Martin-Grunewald you have been requested to review this Pull request/Issue and eventually sign? Thanks |
For the particular case of #36018 (e.g. assuming the PR would have been assigned to I don't think adding more eyes would be the best way forward. Core's responsibility has been to ensure the bits of the data formats are read correctly, while the correctness of the interpretation has been left to the owners of the data formats.
If the tests added in #41565 would have used the enum representation of the data rather than always going through integer values (that was a reasonable choice for ensuring the bits are read correctly), it should have caught the new enum being added.
I agree tests for the interpretation of the enum should be added. I'd also suggest to add comments for all the relevant classes / enums / etc that these are part of the RAW data, and one needs to be careful when modifying them. And for enums especially instructions where to add new elements. @Dr15Jones suggested to number the enum elements explicitly for enums in data formats, that would make it very clear the consequences of adding an element in the middle. |
In the core software meeting today it was noted that at the time the #36018 was merged (CMSSW_12_3_0_pre2), the physics validation was still presumably done using Run 2 data. In principle that validation could have caught the mistake, but apparently it didn't. A question on how the @cms-sw/pdmv-l2 @cms-sw/dqm-l2 |
We should also understand how the One way to make the pre-CMSSW_12_3_0_pre2 |
Thanks for this suggestion. I tried to implement it in #43022. |
Early on in the review of #42634, @fwyzard caught by eye a change which affected one of the data formats of the RAW data tier, and would have changed the meaning of existing data when reading it with the latest releases (see #42634 (comment) and replies).
In fact, it was later realised that a similar mistake did go in in
CMSSW_12_3_0_pre2
(#42634 (comment)). In our understanding, this means that any later release would misinterpret the content of older RAW data for that specific data format.A while go, Core-sw introduced tests to ensure the backward-compatibility of changes to data formats of the RAW data tier (see cms-sw/framework-team#530 and links therein). As far as I understand, a problem such as #42634 (comment) goes beyond the scope of those unit tests. Still, I'm left wondering how we should avoid this kind of issue moving forward.
Questions:
The text was updated successfully, but these errors were encountered: