Skip to content

Store full name temporarily when caching Configurables as input to...

Teng Jian Khoo requested to merge khoo/athena:22.0-TMMT-MuonTPBug into 22.0

As seen in ATR-25996, incorrect retrieval could occur if the kwargs of a function called through RecoFragmentsPool were compared by pointer value.

This workaround should help by explicitly including the type and name of each Configurable as an extra entry in the tuple used for cache retrieval, and then dropping this when passing the args to the function call. I'm a bit surprised that this comparison happens actually, I thought we had sorted this out by adding a __hash__ function. But at least this workaround seems to solve the problem in this case and should otherwise be harmless.

Merge request reports