-
Notifications
You must be signed in to change notification settings - Fork 830
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relax zstd-sys Version Pin #5829
Conversation
Signed-off-by: Ruihang Xia <[email protected]>
Maybe <= 2.0.9? |
Signed-off-by: Ruihang Xia <[email protected]>
That looks better 👍 Changed in fc4c06a |
Signed-off-by: Ruihang Xia <[email protected]>
Signed-off-by: Ruihang Xia <[email protected]>
parquet/Cargo.toml
Outdated
@@ -55,7 +55,7 @@ lz4_flex = { version = "0.11", default-features = false, features = ["std", "fra | |||
zstd = { version = "0.13.0", optional = true, default-features = false } | |||
# TODO: temporary to fix parquet wasm build | |||
# upstream issue: https://github.com/gyscos/zstd-rs/issues/269 | |||
zstd-sys = { version = "=2.0.7", optional = true, default-features = false } | |||
zstd-sys = { version = "<=2.0.9", optional = true, default-features = false } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could pick up zstd-sys 1.0
, please make sure we also have >= 2.0.0
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh, that works 💯
parquet/Cargo.toml
Outdated
# TODO: temporary to fix parquet wasm build | ||
# upstream issue: https://github.com/gyscos/zstd-rs/issues/269 | ||
zstd = { version = "<0.13.1", optional = true, default-features = false } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same, <0.13.1
here will also pick 0.12
, 0.11
.
This comment was marked as outdated.
This comment was marked as outdated.
Signed-off-by: Ruihang Xia <[email protected]>
I'm somewhat inclined to think we should just remove the version pin, and document that people using wasm32 will need to manually pin zstd-sys themselves. We're creating pain for all of our users by pinning this crate, to save some pain for a very small subset of our community... Ultimately if zstd-sys broke support for wasm32 it is on them to fix it |
I agree that libs like parquet should not pin dependencies. This forces users to adopt the same pinned version, increasing the likelihood of conflicts. Instead of pinning versions downstream, it's better for us to collaborate upstream to address the issue. |
That's also an option. Cargo provides patch mechanism to override deps |
They shouldn't need to go that far, if they have a lockfile they can just use |
Signed-off-by: Ruihang Xia <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You will need to update the wasm CI to pin zstd-sys
parquet/Cargo.toml
Outdated
# upstream issue: https://github.com/gyscos/zstd-rs/issues/269 | ||
zstd-sys = { version = "=2.0.9", optional = true, default-features = false } | ||
zstd = { version = "0.13", optional = true, default-features = false } | ||
zstd-sys = { version = "2.0", optional = true, default-features = false } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect zstd-sys can be removed entirely
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to target-specified deps (for CI)
Removed them in d7d5e9b based on above discussion |
Signed-off-by: Ruihang Xia <[email protected]>
Thank you all ❤️ |
Which issue does this PR close?
Closes #.
Rationale for this change
I hit this while trying to upgrade arrow for datafusion.
Parquet depends on
zstd-sys
and datafusion depends onasync-compression
which then depends onzstd-sys
viazstd-safe
.Parquet cannot use
zstd-sys
beyond2.0.9
due to gyscos/zstd-rs#269. Andzstd-safe
has two available versions7.0.0
which depends onzstd-sys
2.0.7
and7.1.0
onzstd-sys
2.10.0
.So to make parquet be compatible with projects use
async-compression
, the only available version tozstd-sys
is2.0.7
What changes are included in this PR?
Downgrade and pin
zstd-sys
to2.0.7
Are there any user-facing changes?
Yes, the dependences
This patch needs to be included in the next release #5688 if possible