-
Notifications
You must be signed in to change notification settings - Fork 260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Balloon list: only add 'first in contest' if there is no earlier unju… #2812
base: main
Are you sure you want to change the base?
Conversation
…dged submission. The 'first for problem' is already working correctly as it re-uses the corresponding scoreboard data. Fixes DOMjudge#2810.
How will this deal with the scenario where team A submits, then team B submits, B gets judged as correct, and then A gets judged as wrong answer?
|
I think the ideal scenario is that a balloon will only be added once, never updated, and so a balloon should only be added after it is known that it's contents (including first in contest/for problem) won't change anymore. |
In the same way as on the scoreboard as of today. We mark it as solved, but not first to solve while we have incomplete information. Then we have more information and you revisit that page later it gets marked as first to solve. We could decide to hold the balloon back or mark it as potentially first to solve. Both things are more complex than this but of course can be done. Since this is fixing a clear bug and not making anything worse, I think we should address that separately. |
@nickygerritsen how is this btw handled in ICPC tools? |
🤷 I can check the code to see if I can determine this, but I think it's easier there since it is a long running process that has state. |
I'm a bit wary of various such fixes we've been making over time that all patch a bug by doing their own DB querying, leading to inconsistent logic and making it harder to eventually implement other scoring strategies as we'd have to refactor each of these. But ok, merge it. Also tagging #2525 for visibility. |
That's a fair point with the DB query. We currently don't have first in contest in the award service, otherwise I would have checked whether we can reuse that. But this doesn't address the other point that you are making about immutability. Let's discuss in person before merging anything. |
…dged submission.
The 'first for problem' is already working correctly as it re-uses the corresponding scoreboard data.
Fixes #2810.
Example submission list:
Corresponding balloon list:
Previously we would have awarded the first balloon a "first in contest".