CenterForDigitalHumanities / CenterForDigitalHumanities/rerum_server_nodejs
Collab Phase 6: Idempotent Overwrite and Conflict Payload Enhancements for Deferred Commit Clients
- Vorherrschende Sprache
- JavaScript
- Sterne
- 3
- Forks
- 6
- Ø Merge
- 2 T. 47 Min.
- Gemergte PRs (30 T.)
- 4
Beschreibung
## Summary
Enhance RERUM durability APIs for deferred commit workloads with idempotency and richer conflict metadata.
## Scope
- Support idempotency keys for overwrite and retry safety.
- Ensure conflict responses include current revision and current document metadata.
- Evaluate optional bulk overwrite endpoint for batched page flushes.
- Emit metrics for write rate, conflict rate, and latency.
## Acceptance Criteria
- Retries using same idempotency key do not duplicate writes.
- Conflict response contains fields needed for client reconciliation.
- Metrics are emitted for durability observability.
## Dependency
- Aligns with TPEN services durable flush worker issue.
Beitragsleitfaden
Rechercherichtung
Beginne damit, die in der Issue referenzierten Durability-APIs und den Worker für verzögertes Commit oder dauerhaften Flush zu lokalisieren, und verfolge anschließend die Behandlung von Überschreibungen, Wiederholungen, Konflikten und Metriken. Erledigt ist die Aufgabe, wenn Wiederholungen mit einem Idempotency-Key keine Schreibvorgänge duplizieren, Konflikte die aktuelle Revision und Dokumentmetadaten offenlegen und Schreib-, Konflikt- und Latenzmetriken ausgegeben werden; kläre den optionalen Bulk-Endpunkt vor der Implementierung.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- api, backend, observability
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100