A client called `run_in_transaction` be stuck if Spanner is down
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia da packages/google-cloud-spanner/google/cloud/spanner_v1/database.py, in run_in_transaction e nella relativa chiamata a get_session. Traccia lo stato di esecuzione della transazione quando la creazione della sessione non riesce mentre Spanner non è disponibile, quindi aggiungi la copertura per questo percorso di errore. Il lavoro è completato quando il client non rimane bloccato e può riprovare quando Spanner torna disponibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Determine this is the right repository
- I determined this is the correct repository in which to report this bug.
Summary of the issue
Context
When the Spanner is unavailable. If we call run_in_transaction, the Spanner client will stuck forever.
We believe the get_session should in the try catch block. Otherwise, the self._local.transaction_running = True will be forever True.
Expected Behavior:
The client will retry when the Spanner DB is back.
Actual Behavior:
The client stuck forever.
API client name and version
No response
Reproduction steps: code
No response
Reproduction steps: supporting files
- Try to create a session when Spanner is unavailable.
- The client will be stuck forever.
Reproduction steps: actual results
No response
Reproduction steps: expected results
No response
OS & version + platform
No response
Python environment
No response
Python dependencies
No response
Additional context
No response
- Lingua principale
- Python
- Stelle
- 5.4k
- Fork
- 1.8k
- Merge medio
- 1g 17h
- PR unite (30g)
- 93
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di googleapis/google-cloud-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
googleapis/google-cloud-python#18428 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
googleapis/google-cloud-python#18339 ·
-
auth priority: p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
googleapis/google-cloud-python#18315 ·
-
priority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
googleapis/google-cloud-python#18260 ·
-
auth effort: low priority: p4 testing type: cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
googleapis/google-cloud-python#17760 ·
Tutte le issue di googleapis/google-cloud-python
Issue simili
-
documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
simonw/sqlite-utils#872 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100