No suitable object store found for ***
- 主要言語
- 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