Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Decide bounded-staleness contract for parallel read connections

Aperta
#646 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
rust, sqlite
Ambito
api, backend, databases

Direzione di ricerca

La issue riguarda la progettazione di un contratto di consistenza per le connessioni di lettura parallele in aw-datastore/src/worker.rs. Inizia comprendendo le modifiche al WAL di PR #616 e gli attuali pattern di lettura/scrittura. Esamina il codice nel file worker.rs per individuare il TODO relativo alla lettura parallela. Determina i limiti accettabili di obsolescenza dei dati (in media inferiore a 1 secondo, nel caso peggiore inferiore a 1 minuto) e se è necessario read-your-writes. Questa è una decisione di progettazione, non un’attività di implementazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Question

Is bounded read staleness acceptable for ActivityWatch read endpoints when reads are served from parallel read-only SQLite connections? If yes, what bounds should we design for?

Erik's current preference is:

  • under 1 second in the average case
  • never more than 1 minute in the worst case

Why this gates the design

WAL landed in #616, so readers no longer need to block the serial writer. The remaining fork for the parallel-read TODO in aw-datastore/src/worker.rs is consistency:

  • if bounded staleness is acceptable, reads can use a read-only pool with that freshness contract;
  • if read-your-writes is required, dispatch needs a synchronization/guard path before serving a read.

This issue is only to settle the consistency contract; implementation and benchmarking can follow separately.

Lingua principale
Rust
Stelle
315
Fork
97
Merge medio
1g 10h
PR unite (30g)
61

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ActivityWatch/aw-server-rust

Tutte le issue di ActivityWatch/aw-server-rust

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.