Skip to content

fix(java): support guava android collections#3851

Merged
chaokunyang merged 1 commit into
apache:mainfrom
chaokunyang:fix_guava_class_unexist
Jul 15, 2026
Merged

fix(java): support guava android collections#3851
chaokunyang merged 1 commit into
apache:mainfrom
chaokunyang:fix_guava_class_unexist

Conversation

@chaokunyang

@chaokunyang chaokunyang commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

  • tolerate Guava variants that omit the singleton immutable list and bi-map implementation classes
  • preserve Guava internal type ID alignment with distinct fallback registrations
  • account for the actual materialized collection owners in graph-memory checks
  • document why missing singleton slots require placeholders and actual owner sizing

Fixes #3847.

Tests

  • mvn -T16 -pl fory-core spotless:check
  • mvn -T16 -pl fory-core checkstyle:check
  • ENABLE_FORY_DEBUG_OUTPUT=1 mvn -T16 -pl fory-core -Dtest=org.apache.fory.serializer.collection.CollectionSerializersTest#testGuavaListOwnerBudget+testGuavaBiMapOwnerBudget test

@chaokunyang chaokunyang force-pushed the fix_guava_class_unexist branch from f97bce7 to e8e0bf3 Compare July 15, 2026 08:20
@chaokunyang chaokunyang force-pushed the fix_guava_class_unexist branch from e8e0bf3 to b4892ff Compare July 15, 2026 08:45
@chaokunyang chaokunyang merged commit c6fb315 into apache:main Jul 15, 2026
61 checks passed
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.

java.lang.ClassNotFoundException on grpc shaded with guava-android in dependencies

2 participants