Skip to content
Snippets Groups Projects

xAODRootAccess: Don't crash opening a schema-evolved file.

Merged Scott Snyder requested to merge ssnyder/athena:evol.xAODRootAccess-20201119 into master
All threads resolved!

Don't crash opening a file that uses some kinds of automatic schema evolution. If the type of a member changes from one class to another (for example, from std::vector to std::vector), then GetExpectedType will give us the on-disk class. To get the class we use in memory, we need to use GetCurrentClass.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Author Developer

    hi -

    After the previous discussions, i thought i'd add a test of automatic double->float evolution to DataModelTests. (Part of it was that i wasn't completely sure that it worked for nested vectors.)

    Everything worked except for the test where i try to read a file using TEvent instead of AthenaPOOL, which crashed. I needed the change here to fix the crash. (In the TEvent test, i don't actually try to read the object that used schema evolution, since there are other changes there that TEvent won't handle. I do, however, try to read other objects from the same file, and TEvent was crashing just opening the file.)

  • since the discussion is not resolved yet, moving back to developer.

    Roman (L1)

  • Attila Krasznahorkay resolved all threads

    resolved all threads

  • mentioned in commit aa2aec5c

  • mentioned in merge request !38577 (merged)

  • Please register or sign in to reply
    Loading