apache / apache/datafusion

No suitable object store found for ***

オープン
#2,136 コメント 7 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug
主要言語
Rust
スター
9.3k
フォーク
2.4k
平均マージ
3日 11時間
マージ済み PR(30日)
360

説明

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")

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

object_store_registry.rs と ballista/rust/client/src/context.rs から始め、その後 benchmarks/README.md にある Ballista のベンチマーク手順を確認します。LocalFileSystem を使って file:// ベンチマークを再現し、Scheduler を通じた登録を追跡します。Scheduler が登録済みの object store を解決し、適切な store が存在しないと報告しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
databases, distributed-systems
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。