delta-io / delta-rs

A native Rust library for Delta Lake, with bindings into Python
https://delta-io.github.io/delta-rs/
Apache License 2.0
1.97k stars 365 forks source link

InvalidTableLocation("Unknown scheme: gs") on 0.18.0 #2610

Open dnsco opened 1 week ago

dnsco commented 1 week ago

Environment

0.180

Binding:

Environment: Macos


Bug

What happened:

I tried upgrading to 0.18.0 and now get unknown scheme even though I'm calling register handlers

How to reproduce it:

#[tokio::test]
    async fn test_gcp() -> anyhow::Result<()> {
        deltalake::gcp::register_handlers(None);

        let url = "gs://my_bucket/new_test_who_dis";

        let json_1 = r#"{"a": 1, "unused_1": 0}"#.as_bytes();

        let schema_1 = Arc::new(infer_json_schema(json_1, None)?.0);

        let mut batch_1 = ReaderBuilder::new(schema_1.clone()).build(json_1)?;

        let t = DeltaOps::try_from_uri(url).await?;
        let _ = t.write(batch_1.next().transpose()?).await?;

        Ok(())
    }

More details:

hread 'phases::arrow_to_delta::tests::test_gcp' panicked at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deltalake-core-0.18.0/src/table/builder.rs:166:48:
The specified table_uri is not valid: InvalidTableLocation("Unknown scheme: gs")
stack backtrace:
   0: rust_begin_unwind
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
   1: core::panicking::panic_fmt
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/result.rs:1654:5
   3: core::result::Result<T,E>::expect
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/result.rs:1034:23
   4: deltalake_core::table::builder::DeltaTableBuilder::from_uri
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deltalake-core-0.18.0/src/table/builder.rs:166:19
   5: deltalake_core::operations::DeltaOps::try_from_uri::{{closure}}
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deltalake-core-0.18.0/src/operations/mod.rs:79:25
   6: impulse_diagnostics::phases::arrow_to_delta::tests::test_gcp::{{closure}}
             at ./src/phases/arrow_to_delta.rs:76:45
   7: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/future/future.rs:123:9
   8: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/future/future.rs:123:9
   9: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:659:57
  10: tokio::runtime::coop::with_budget
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:107:5
  11: tokio::runtime::coop::budget
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:73:5
  12: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:659:25
  13: tokio::runtime::scheduler::current_thread::Context::enter
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:404:19
  14: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:658:36
  15: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:737:68
  16: tokio::runtime::context::scoped::Scoped<T>::set
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/scoped.rs:40:9
  17: tokio::runtime::context::set_scheduler::{{closure}}
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context.rs:176:26
  18: std::thread::local::LocalKey<T>::try_with
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/thread/local.rs:286:12
  19: std::thread::local::LocalKey<T>::with
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/thread/local.rs:262:9
  20: tokio::runtime::context::set_scheduler
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context.rs:176:9
  21: tokio::runtime::scheduler::current_thread::CoreGuard::enter
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:737:27
  22: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:646:19
  23: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:175:28
  24: tokio::runtime::context::runtime::enter_runtime
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/runtime.rs:65:16
  25: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:167:9
  26: tokio::runtime::runtime::Runtime::block_on
             at /Users/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/runtime.rs:349:47
  27: impulse_diagnostics::phases::arrow_to_delta::tests::test_gcp
             at ./src/phases/arrow_to_delta.rs:79:9
  28: impulse_diagnostics::phases::arrow_to_delta::tests::test_gcp::{{closure}}
             at ./src/phases/arrow_to_delta.rs:65:28
  29: core::ops::function::FnOnce::call_once
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/ops/function.rs:250:5
  30: core::ops::function::FnOnce::call_once
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.