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 le API di durabilità e il worker di commit differito o di flush durevole a cui fa riferimento la issue, quindi segui la gestione di sovrascritture, retry, conflitti e metriche. Il lavoro è completato quando i retry con una sola chiave di idempotenza non duplicano le scritture, i conflitti espongono la revisione corrente e i metadati del documento e vengono emesse metriche di scrittura, conflitto e latenza; chiarisci l’endpoint bulk opzionale prima dell’implementazione.
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
- Abbastanza chiara
- Idoneità per principianti
- 35/100