container.list_objects with prefix and the local driver is very slow when a lot of files are stored

Offen
#1,583 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
cloud

Rechercherichtung

Das Issue verweist auf den Pfad container.list_objects des lokalen Treibers; beginne dort und untersuche, wie Objekte serialisiert werden, bevor nach dem Präfix gefiltert wird. Reproduziere den Bericht mit einer großen Menge lokaler Objekte und einem Präfix und überprüfe anschließend, dass passende Objekte ohne die gemeldete Verzögerung von mehreren Minuten zurückgegeben werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

stale

Summary

I have a large storage that I'm using libcloud to manage - in this specific case it's around 500,000 objects, and I've noticed that listing object using the local driver and a prefix is very slow (took almost 2 minutes to return 90 objects).

Detailed Information

In the local driver implementation when calling list_objects with a prefix - we firstly get all the objects and serialize them and just after that we are filtering by the prefix.

Found on python3.6.8 with libcloud 3.2.0 and ubuntu 16:04

Vorherrschende Sprache
Python
Sterne
2.1k
Forks
935
Ø Merge
5 T. 3 Std.
Gemergte PRs (30 T.)
15

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/libcloud

Alle Issues in apache/libcloud

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.