getodk / getodk/central

Intermittent test failure: should not allow parallel updates to the same Entitys

Open
#1,231 0 comments 0 reactions 0 assignees View on GitHub
backend testing
Dominant language
JavaScript
Stars
226
Forks
235
Avg merge
2d 22h
Merged PRs (30d)
19

Description

https://github.com/getodk/central-backend/actions/runs/13279371367/job/37074603029?pr=1394

```
1) Entities API
PATCH /datasets/:name/entities/:uuid
should not allow parallel updates to the same Entity:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/central-backend/central-backend/test/integration/api/entities.js)
at listOnTimeout (node:internal/timers:594:17)
at process.processTimers (node:internal/timers:529:7)
```

* there's a chance this failure is from a deadlock, as that seems close to the subject of the test
* maybe just a slow test? probably not - when retried, this test took 112ms

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the failing integration test in test/integration/api/entities.js and the linked GitHub Actions run. Investigate why PATCH requests for the same entity time out, including whether the failure is a deadlock or an intermittent slow test. Done means the test no longer intermittently times out and still verifies that parallel updates are rejected.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.