You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Previous buggy flow was something like:
- fetch all submissions that for this team/contest/problem combination
- that are valid
- and have a valid judging
The idea of https://github.com/DOMjudge/domjudge/blob/95df1de7bce91f43600cfcb8760ea85762936614/webapp/src/Service/ScoreboardService.php#L240
was that this would filter the OneToMany collection down to only valid
judgings. This is also what happens on the database side.
However, on the doctrine side, the entity manager keeps a cache, and if
the submission is already in the cache with the full collection of valid
and invalid judgings, it will only merged with new data from the
database query, no data (i.e. no judgings) will magically disappear.
In order to fix this, we explicitly filter on the PHP side. An
alternative would be to add a new `OneToMany` mapping with a `where` on
it and use that.
Fixes#2883
0 commit comments