CenterForDigitalHumanities / CenterForDigitalHumanities/rerum_server_nodejs

Collab Phase 6: Idempotent Overwrite and Conflict Payload Enhancements for Deferred Commit Clients

Offen
#266 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

backend collaboration cross-repo deferred-persistence phase-6
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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Einstiegspunkte der RERUM durability API und den Client-Ablauf für deferred commits zu lokalisieren, und überprüfe anschließend die Abhängigkeit vom Issue zum durable flush worker der TPEN-Dienste. Als abgeschlossen gilt die Arbeit, wenn Retries mit einem Idempotency Key keine doppelten Writes erzeugen, Conflict Responses die aktuelle Revision und Dokumentmetadaten offenlegen und Write-, Conflict- und Latenzmetriken ausgegeben werden.

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
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.