Details
-
Type: Bug
-
Status: New
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: Current Version
-
Fix Version/s: None
-
Component/s: OIOIOI
-
Labels:None
Description
A user has reported duplicate entries appearing on contest scoreboards, in multiple contests. An example can be seen in the attached screenshot.
I confirm that the issue can be reproduced on my setup (Ubuntu 18.04, both Mozilla Firefox 80.0.1 and Chromium 85.0.4183.121).
Link to the contest: https://szkopul.edu.pl/c/archiwum-zadan-k0mpend1x/dashboard/
I confirm that the issue can be reproduced on my setup (Ubuntu 18.04, both Mozilla Firefox 80.0.1 and Chromium 85.0.4183.121).
Link to the contest: https://szkopul.edu.pl/c/archiwum-zadan-k0mpend1x/dashboard/
Activity
- All
- Comments
- History
- Activity
- Transitions
- Commits
filter_participants reports duplicate participants whenever someone is a participant, and belongs to any user groups. That participant will be reported once for every user group membership, irrespective of that group's contests. This is due to how outer joins work.
Theoretically, non-participants that belong to multiple groups which belong to the same contest will also be returned twice, but we haven't observed it in the wild.
This could be fixed by changing queryset `|` to `union` but then we get hit by a Django bug:
https://code.djangoproject.com/ticket/29834#no1