Skip to content

Core, Flink, Spark, Build: Replace Guava Queues with plain JDK and bump guava from 33.6.0-jre to 33.7.1-jre - #17888

Merged
huaxingao merged 2 commits into
apache:mainfrom
ebyhr:ebi/dependabot/gradle/guava-33.7.1-jre
Sep 4, 2026
Merged

Core, Flink, Spark, Build: Replace Guava Queues with plain JDK and bump guava from 33.6.0-jre to 33.7.1-jre #17888
huaxingao merged 2 commits into
apache:mainfrom
ebyhr:ebi/dependabot/gradle/guava-33.7.1-jre

Conversation

@ebyhr

@ebyhr ebyhr commented Aug 30, 2026

Copy link
Copy Markdown
Member

The dependabot bump of Guava 33.6.0 → 33.7.1 broke compilation:

Error: /home/runner/work/iceberg/iceberg/core/src/main/java/org/apache/iceberg/actions/BaseCommitService.java:34: error: cannot find symbol

import org.apache.iceberg.relocated.com.google.common.collect.Queues;

iceberg-bundled-guava shades Guava via shadowJar + minimize(). Since that module has no consumers on its own classpath, minimize() only keeps a class if something else inside Guava still references it. Queues survived only because MoreExecutors called Queues.newLinkedBlockingQueue() internally. Guava 33.7.x replaced that internal call with new LinkedBlockingQueue<>(), so minimize() now sees Queues as unused and strips it even though core, flink, and spark call it directly at runtime.

Excluding guava from minimize() keeps Queues, but also restores unrelocated com.google.thirdparty.publicsuffix.* classes.

This PR removes the dependency on the shaded Queues helper entirely. Its methods are one-line wrappers around JDK constructors:

  • Queues.newConcurrentLinkedQueue() → new ConcurrentLinkedQueue<>()
  • Queues.newArrayDeque() → new ArrayDeque<>()

Closes #17882

Bumps `guava` from 33.6.0-jre to 33.7.1-jre.

Updates `com.google.guava:guava` from 33.6.0-jre to 33.7.1-jre
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

Updates `com.google.guava:guava-testlib` from 33.6.0-jre to 33.7.1-jre
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-version: 33.7.1-jre
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.guava:guava-testlib
  dependency-version: 33.7.1-jre
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@ebyhr
ebyhr force-pushed the ebi/dependabot/gradle/guava-33.7.1-jre branch from 9c7dffd to 3aae8d5 Compare August 30, 2026 05:19
@uros-b

uros-b commented Aug 30, 2026

Copy link
Copy Markdown
Member

LGTM, thank you @ebyhr!

@singhpk234 singhpk234 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @ebyhr !

@huaxingao
huaxingao merged commit 9da109d into apache:main Sep 4, 2026
39 checks passed
@huaxingao

Copy link
Copy Markdown
Contributor

Thanks @ebyhr for the PR! Thanks @uros-b @singhpk234 for the review!

@ebyhr
ebyhr deleted the ebi/dependabot/gradle/guava-33.7.1-jre branch September 4, 2026 03:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants