Using S3 list_objects_v2 call to check the existence of a bucket is too costly

Aperta
#960 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à
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
aws, python
Ambito
cloud

Direzione di ricerca

Inizia in s3fs/core.py, intorno alle righe 1107–1113, dove list_objects_v2 viene usato per verificare l’esistenza del bucket. Esamina la gestione circostante di _call_s3 e sostituisci il costoso controllo dell’esistenza con la chiamata head_bucket richiesta, quindi verifica che il comportamento di controllo del bucket rimanga corretto.

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

Descrizione

Here, I refer to the following code lines in s3fs/core.py:

1107             try:
1108                 await self._call_s3(
1109                     "list_objects_v2", MaxKeys=1, Bucket=bucket, **self.req_kw
1110                 )
1111                 return True
1112             except Exception:
1113                 pass

The purpose of these code lines is to check if the bucket exists. This can be accomplished by calling "head_bucket", instead. Listing objects, even with max-keys=1, can be costly on a bucket whose index is managed in multiple shards, like ceph does.

Lingua principale
Python
Stelle
1k
Fork
323
Merge medio
1g 5h
PR unite (30g)
13

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 fsspec/s3fs

Tutte le issue di fsspec/s3fs

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.