The apply pending actions can double-post when having concurrent requests

Open
#6,873 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
50/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
backend

Research direction

Start by reading the apply_all_pending method and trace how it reads pending rows, dispatches each action, and commits the result. Reproduce or reason through two concurrent calls, then verify that each pending row is dispatched once and cannot produce duplicate Bugzilla comments.

Written by the indexing model from the issue text.

Description

hackbot

[!NOTE]
This did not happen yet, so no examples, but in theory it is a bug that needs to be fixed.

The apply_all_pending method reads a run's not-yet-applied rows, then dispatches and commits each one, with no lock. Two concurrent calls both see the same pending rows and both dispatch them, so the same Bugzilla comment can be posted twice.

Dominant language
Python
Stars
570
Forks
351
Avg merge
2d 11h
Merged PRs (30d)
61

Contributor guide

Open the contributing guide

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.

More from mozilla/bugbug

All issues in mozilla/bugbug

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.