check-cassandra-catalog-lock: a refused migrate changed a keyspace that held only the lock row

Aperta Adatta ai principianti
#871 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
84/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cassandra, rust
Ambito
databases, testing

Direzione di ricerca

Inizia da devtools/check-cassandra-catalog-lock e segui come legge i nomi delle tabelle del keyspace e le chiavi di settings prima e dopo migrate --yes e l’anteprima. Aggiorna l’output dell’errore in modo che mostri entrambe le letture quando differiscono. Il lavoro è completato quando una futura discrepanza mostra i valori prima e dopo; esegui di nuovo questo controllo per confermare l’output.

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

Descrizione

backend:cassandra ci:stability

devtools/check-cassandra-catalog-lock failed a keyspace whose settings table holds only the lock row is left as it was in job 127151625065 of cassandra-catalog-checks, on fix/stream-arn-account-check on 5 November 09:07 UTC. That is 1 failure in 168 jobs between 3 and 5 November.

For this case the script creates a keyspace whose settings table has the catalog's columns and no rows. It reads the keyspace's table names and settings keys, then runs migrate --yes and the migrate preview, and reads them again. migrate --yes takes the lock, refuses the keyspace and releases the lock. The preview takes no lock. The two reads differed once. The script prints FAIL without the two reads, so the job log does not show what changed. A lock row that the release did not delete would explain it, but the log cannot confirm that.

A first step is to print both reads when they differ, so the next failure shows its cause.

Lingua principale
Rust
Stelle
517
Fork
60
Merge medio
5g 4h
PR unite (30g)
76

Preparare l'ambiente

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 ExtendDB/extenddb

Tutte le issue di ExtendDB/extenddb

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.