Details
-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
8.13.0, 8.20.0, 8.22.0
-
None
-
8.13
-
10
-
Severity 3 - Minor
-
1
-
Description
Issue Summary
This is reproducible on Data Center: yes
Quick enabling and disabling repository cause that two threads will parallel update statuses of messages connected to this repository. One will be changing state from PENDING → SLEEPING and second one from SLEEPING → PENDING. Updating of statuses is done in loop (not in batch) which leads to race condition.
Steps to Reproduce
- Open DVCS admin panel
- Find repository which has a lot of messages on queue
- Disable this repository and next enable it again
Expected Results
User shouldn’t be able to enable repository when disabling is not finished. Statuses of messages should be updated in one transaction using batch.
Actual Results
- Two threads race condition → number of messages in status PENDING and in status SLEEPING is waving
- Threads can abort after some time and leave repository and its messages in faulty state. See https://jira.atlassian.com/browse/JSWSERVER-21378
Workaround:
Currently there is no known workaround for this behavior. A workaround will be added here when available
Attachments
Issue Links
- blocks
-
JSWSERVER-21378 DVCS Repository synchronisation is stuck because of SLEEPING messages on queue
- Gathering Impact