Skip to content

RDO to PRD with PRD caching (CSC, MDT)

This MR follows up on MR!29397 which needed to be reverted due to failing the FrozenT0 tests. I have debugged a lot and have identified that the problems originated in two places:

  1. Some updated I started making to RPC were not safe and these are removed in this MR (along with TGC, MM and sTGC as these have not been implemented yet).
  2. The MDT changes required restructuring. There are two special cases 1 RDO -> 2 PRD (this was already handled in the code) and 2 RDO -> 1 PRD. The latter was using const_cast to add new data to existing collections. This cannot work in MT, so I needed to rewrite to identify special cases of 2 RDO and pass them both into the decoding code at the same time and process them together. There were edge cases which were missed : a) When RDO1 was empty, RDO 2 was unintentionally skipped b) When any RDO was empty, I was saving an empty PRD which shifted the order of PRD in the output and failed the diff-tree

These have been resolved such that my tests now align perfectly with the test before the changes were implemented. I mark this as WIP as I need to also find Savanna's update which was placed to avoid an infinite loop and was also reverted.

cc @markowen @sshaw

Edited by Ian Allan Connelly

Merge request reports