Metaculus / Metaculus/metaculus

Race condition in resolving followed by unresolving questions

Open
#1,260 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Low Priority Stale Technical
Dominant language
TypeScript
Stars
113
Forks
34
Avg merge
16h 34m
Merged PRs (30d)
30

Description

Resolving questions sets off a task to score the question. Unresolving does not and is very quick. An admin can set off the unresolve before the initial resolve task is complete, leading to scores on unresolved questions. A more complicated version of this was likely the cause of the initial issue #1161 .
This is relatively unlikely to occur, so the interim solution is to make sure moderators are aware of this race condition. also, the inappropriate scores can be dealt with by re-resolving, waiting, and unresolving the question, so I'm tagging this a low priority.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the task triggered when a question is resolved and the unresolve path described in the issue. Reproduce the ordering where unresolving completes before scoring, then determine how to prevent scores from being applied to unresolved questions and add coverage for that race.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.