Skip to content

fix(java): reproduce silent Set child-loss for package-private nodes - #3902

Open
PiotrDuz wants to merge 1 commit into
apache:mainfrom
PiotrDuz:main
Open

fix(java): reproduce silent Set child-loss for package-private nodes#3902
PiotrDuz wants to merge 1 commit into
apache:mainfrom
PiotrDuz:main

Conversation

@PiotrDuz

@PiotrDuz PiotrDuz commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

cyclic graphs

Wide fan-out (one parent, many children) cyclic graph of package-private nodes loses entries from a Set field on deserialize - no exception.

Why?

fory had a regression bug of cyclic graph losing edges. Want to pin it so no further regressions are possible.

What does this PR do?

This PR adds a test case that reproduces the regression

Related issues

#3903

AI Contribution Checklist

The test has been generated by AI, but the idea and guidance is human - the problem and its reporduction in version 1.1.0 is tested by hand.

…in cyclic graphs

Wide fan-out (one parent, many children) cyclic graph of package-private
nodes loses entries from a Set<PackagePrivateType> field on deserialize -
no exception, unlike the codegen CompileException PackagePrivateMapKeyTest
guards against. Reproduced from a production graph with 100+ children
under one node; the child->parent back-reference (EnumMap-keyed) survives
the round trip, the parent->child Set does not.
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.

1 participant