The GitHub Actions job "Lint PR" on fory.git/row-codec-schema-versions has 
failed.
Run started by GitHub user stevenschlansker (triggered by stevenschlansker).

Head commit for run:
2b78362a55696efaffb1538878feeefb205442c2 / Claude (on behalf of Steven 
Schlansker) <[email protected]>
fix(format): enumerate versioned beans nested inside collection fields

SchemaHistory.build discovered nested versioned beans only at a field's raw
type, so a versioned bean appearing as a List element or Map value was never
found: the outer's cross-product carried no dimension for the inner bean, and
its history was never enumerated. A reader whose inner bean had evolved then
had no projection matching an older payload's inner layout, and decode threw
ClassNotCompatibleException.

findVersionedBean now looks through list/array element and map key/value type
refs to locate the versioned bean, mirroring TypeInference's element handling
(component type for arrays, getElementType for iterables) and keeping the
collection-first classification that lets a shadowed-field collection subclass
short-circuit before any Descriptor.getDescriptors probe. The cross-product is
keyed by the discovered bean class, preserving the one-dimension-per-class
invariant. substituteNestedStruct rebuilds the list/map field with the chosen
historical struct in the bean's slot, leaving the wrapper and its nullability
exactly as inferNamedField produced them, so existing direct-field schemas and
hashes are unchanged.

Add evolvingBeanInCollectionField covering an inner bean evolved across a List
and a Map value read by a newer codec.

Report URL: https://github.com/apache/fory/actions/runs/28261481342

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to