The SIO2 project
  1. The SIO2 project
  2. SIO-2379

Duplicated user entries in contest rankings

    Details

    • Type: Bug Bug
    • Status: New New
    • Priority: Major 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/

        Activity

        Hide
        Wojciech Dubiel added a comment -
        When user groups are in use, the registration controller's
         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
        Show
        Wojciech Dubiel added a comment - When user groups are in use, the registration controller's  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

          People

          • Assignee:
            Unassigned
            Reporter:
            Przemysław Podleśny
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: