CenterForDigitalHumanities / CenterForDigitalHumanities/rerum_server_nodejs

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

Aperta
#266 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
backend collaboration cross-repo deferred-persistence phase-6
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.