Azure / Azure/azure-sdk-for-python

[BlobStorage] Unsafe retry on 500 OperationTimedOut error

Aperta
#39,615 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Client Service Attention Storage
Lingua principale
Python
Stelle
5.6k
Fork
3.4k
Merge medio
2g
PR unite (30g)
217

Descrizione

- **Package Name**: azure-storage-blob (and probably other storage packages)
- **Package Version**: latest
- **Operating System**: Any
- **Python Version**: Any

**Describe the bug**
The Python SDK will retry a 500 status with error code OperationTimedOut.
https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/policies.py#L87-L93

According to the REST API docs, this retry is unsafe:
https://learn.microsoft.com/en-us/rest/api/storageservices/common-rest-api-error-codes

This issue can result in data corruption:
https://github.com/Azure/azure-sdk-for-go/issues/24027

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia in sdk/storage/azure-storage-blob/azure/storage/blob/_shared/policies.py alle righe 87-93 e confronta il comportamento di retry esistente con la documentazione dei codici di errore della REST API. Riproduci una risposta 500 OperationTimedOut oppure aggiungi la relativa coverage, quindi verifica che il client non esegua più un retry non sicuro, preservando al contempo gli altri comportamenti soggetti a retry.

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

Valutazione

Stack tecnologico
azure, python
Ambito
cloud
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.