CenterForDigitalHumanities / CenterForDigitalHumanities/rerum_server_nodejs
Collab Phase 6: Idempotent Overwrite and Conflict Payload Enhancements for Deferred Commit Clients
- Lingua principale
- JavaScript
- Stelle
- 3
- Fork
- 6
- Merge medio
- 2g 47m
- PR unite (30g)
- 4
Descrizione
## 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.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando gli entry point della RERUM durability API e il flusso del client per il deferred commit, quindi esamina la dipendenza dall’issue del durable flush worker dei servizi TPEN. Il lavoro è completato quando i retry con una sola idempotency key non duplicano le scritture, le conflict responses espongono la revisione corrente e i metadati del documento e vengono emesse metriche di scrittura, conflitto e latenza.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript
- Ambito
- api, backend, observability
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100