Skip to content

Conversation

@timsaucer
Copy link
Member

The crate xz2 is not actively maintained except for bug fixes.

liblzma is under active development and is a fork of xz2.

This PR changes the dependency to the new crate. The reason for this is we have crates such as Apache DataFusion that depend on avro-rs and also async-compression which uses the more updated approach. Since rust only allows a single binding to a system library these two are in conflict.

@martin-g martin-g merged commit 3b202c5 into apache:main Sep 10, 2025
22 checks passed
@martin-g
Copy link
Member

Thank you, @timsaucer !

github-merge-queue bot pushed a commit to apache/datafusion that referenced this pull request Nov 18, 2025
## Which issue does this PR close?

Closes #15342

## Rationale for this change

Reduces the duplicate dependencies.

We currently depend on bzip2 in two different ways. In attempting to
reduce this, I needed to update `async-compression` which caused two
different libraries to link to the system lzma library. This is not
allowed in rust.

This PR updates avro-rs, but we cannot merge this PR until that crate
merges apache/avro-rs#284 and we remove the
crates.io patch this PR contains.

## What changes are included in this PR?

Update avro-rs and switch from the unmaintained xz2 crate to liblzma.

## Are these changes tested?

Unit tests. 

## Are there any user-facing changes?

None. This is simply a dependency update to a more recent crate.
N-Boutaib pushed a commit to DataDog/datafusion that referenced this pull request Nov 18, 2025
…7509)

Closes apache#15342

Reduces the duplicate dependencies.

We currently depend on bzip2 in two different ways. In attempting to
reduce this, I needed to update `async-compression` which caused two
different libraries to link to the system lzma library. This is not
allowed in rust.

This PR updates avro-rs, but we cannot merge this PR until that crate
merges apache/avro-rs#284 and we remove the
crates.io patch this PR contains.

Update avro-rs and switch from the unmaintained xz2 crate to liblzma.

Unit tests.

None. This is simply a dependency update to a more recent crate.

(cherry picked from commit 5765a08)
ahmed-mez pushed a commit to DataDog/datafusion that referenced this pull request Nov 21, 2025
…7509)

## Which issue does this PR close?

Closes apache#15342

## Rationale for this change

Reduces the duplicate dependencies.

We currently depend on bzip2 in two different ways. In attempting to
reduce this, I needed to update `async-compression` which caused two
different libraries to link to the system lzma library. This is not
allowed in rust.

This PR updates avro-rs, but we cannot merge this PR until that crate
merges apache/avro-rs#284 and we remove the
crates.io patch this PR contains.

## What changes are included in this PR?

Update avro-rs and switch from the unmaintained xz2 crate to liblzma.

## Are these changes tested?

Unit tests. 

## Are there any user-facing changes?

None. This is simply a dependency update to a more recent crate.
logan-keede pushed a commit to logan-keede/datafusion that referenced this pull request Nov 23, 2025
…7509)

## Which issue does this PR close?

Closes apache#15342

## Rationale for this change

Reduces the duplicate dependencies.

We currently depend on bzip2 in two different ways. In attempting to
reduce this, I needed to update `async-compression` which caused two
different libraries to link to the system lzma library. This is not
allowed in rust.

This PR updates avro-rs, but we cannot merge this PR until that crate
merges apache/avro-rs#284 and we remove the
crates.io patch this PR contains.

## What changes are included in this PR?

Update avro-rs and switch from the unmaintained xz2 crate to liblzma.

## Are these changes tested?

Unit tests. 

## Are there any user-facing changes?

None. This is simply a dependency update to a more recent crate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants