apache / apache/datafusion

No suitable object store found for ***

Ouverte
#2,136 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Rust
Étoiles
9.3k
Forks
2.4k
Merge moyen
3 j 11 h
PR mergées (30 j)
360

Description

I found this issue when trying to add s3-objectstore:
I use the `ctx.runtime_env().register_object_store()` method to register the objectstore into the SessionContext, but I can't get the objectstore through `get_by_uri()` in the Scheduler.
Exception: No suitable object store found for ***

This exception can be reproduced using LocalFileSystem.
Reproduced method: ObjectStoreRegistry does not store LocalFileSystem when it is created, and registers LocalFileSystem in ObjectStoreRegistry.object_stores through the register_object_store() method. Run tpch-benchmark-ballista, the path parameter format is `file://***/***`

step
1. Delete line 58 of object_store_registry.rs "`map.insert(LOCAL_SCHEME.to_string(), Arc::new(LocalFileSystem));`"
2. Delete lines 243 and 244 of ballista/rust/client/src/context.rs and add "`ctx.runtime_env().register_object_store("file",Arc::new(LocalFileSystem{}));`" in line 245 under
3. According to the "Ballista Benchmarks" content of benchmarks/README.md, start Scheduler and Executor, and execute the benchmark command: cargo run --bin tpch --release benchmark ballista **** --path file://*** /***
The exception is thrown as:
[2022-04-02T05:45:26Z ERROR ballista_scheduler::scheduler_server::grpc] Could not parse logical plan protobuf: Not implemented: No object store is registered for path file://E:/datafusion/lineitem.tbl: Internal ("No suitable object store found for file")

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par object_store_registry.rs et ballista/rust/client/src/context.rs, puis examinez les instructions des benchmarks de Ballista dans benchmarks/README.md. Reproduisez le benchmark file:// avec LocalFileSystem et suivez l’enregistrement via le Scheduler ; le travail est terminé lorsque le Scheduler résout l’object store enregistré au lieu de signaler qu’aucun store approprié n’existe.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
databases, distributed-systems
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.