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
2.14k stars 380 forks source link

`deltalake-core` version re-exported by `deltalake` different than versions used by `deltalake-azure` and `deltalake-gcp` #2647

Closed kyle-mccarthy closed 2 months ago

kyle-mccarthy commented 2 months ago

Environment

Delta-rs version: 0.18

Binding: Rust

Environment:


Bug

What happened: azure and gcp features use different deltalake-core version than one re-exported by the deltalake crate. This makes the azure and gcp crates use a different static registry than the re-exported registry, breaking registration of cloud provider specific factories.

What you expected to happen: Same version of `deltalake-core' to be used so factories can be registered under their cloud specific schemes.

How to reproduce it: Create a fresh project and add deltalake v0.18 with the azure feature enabled. Note that crates.io should be used as the registry rather than git or path.

[package]
name = "repro"
version = "0.1.0"
edition = "2021"

[dependencies]
deltalake = { version = "0.18", features = ["azure"] }

More details:

fn main() {
    deltalake::azure::register_handlers(None);

    let registered_factories = deltalake::storage::factories()
        .iter()
        .map(|entry| entry.key().to_owned())
        .collect::<Vec<_>>();

    dbg!(registered_factories); // only includes the default file and memory schemes
}
❯ cargo tree --depth 3
repro v0.1.0 (/Users/me/workspaces/repro)
└── deltalake v0.18.1
    ├── deltalake-azure v0.1.2
    │   ├── deltalake-core v0.17.3
    │   ├── ...
    └── deltalake-core v0.18.1
        ...
rtyler commented 2 months ago

I think you managed to file this shortly after @mightyshazam and I diagnosed this in Slack :laughing:

Use deltalake-azure ~> 0.1.3

I'm guessing I need to rev the version and release deltalake-gcp with the more correct version constraints

rtyler commented 2 months ago

deltalake-gcp 0.2.2 has been pushed as well with the right version ranges.

Can you verify that your troubles have been remedied @kyle-mccarthy ?

kyle-mccarthy commented 2 months ago

@rtyler that seems to have fixed it! thanks!

--

Note for future readers, make sure to run cargo update to fetch the updated crates.io index.