mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 22:02:16 +00:00
fix(cycle): answer a raced feed rotation with 409 instead of 500
Two rotations at once both revoked the same live feed, and the second successor then hit the one-live-feed index with an unhandled unique violation. The losing rotation now gets the mint path's 409 cycle.feed.exists, and the winner's link stands.
This commit is contained in:
1 parent
01884e91fa
commit
46a1a5d320
4 files changed
+89
-41
No files matched your search
@@ -958,7 +958,8 @@ paths:
|
||||
- Cycle
|
||||
summary: Replace the calendar subscription's link (#1350)
|
||||
description: "One transaction: the live link is revoked and a new one minted with the same options. Returns the new URL
|
||||
EXACTLY ONCE. Calendars using the old link stop updating."
|
||||
EXACTLY ONCE. Calendars using the old link stop updating. Of two rotations racing, the one that loses answers
|
||||
409 `cycle.feed.exists` and the winner's link stands."
|
||||
responses:
|
||||
"201": *a13
|
||||
"401": *a14
|
||||
@@ -969,6 +970,12 @@ paths:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ErrorEnvelope"
|
||||
"409":
|
||||
description: Another rotation replaced the link at the same moment (`cycle.feed.exists`).
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ErrorEnvelope"
|
||||
"422": *a4
|
||||
"429": *a5
|
||||
/api/measurement-categories:
|
||||
|
||||
Reference in new issue
Block a user