chaokunyang opened a new pull request, #3552: URL: https://github.com/apache/fory/pull/3552
## Why Auto serializer selection was falling back to JDK-compatible serializers for eligible sorted/container subclasses such as `TreeSet`, `TreeMap`, `ConcurrentSkipListSet`, `ConcurrentSkipListMap`, and `PriorityQueue`. That routed child containers through the inefficient `ObjectStreamSerializer` path even when the optimized child-container strategy could preserve both container state and subclass fields. ## What changed - extend `ChildContainerSerializers` with constructor-aware child serializers for sorted sets, sorted maps, and priority queues - teach auto-selection to use those serializers for eligible subclasses instead of the JDK-compatible fallback - register the new serializers in the builtin serializer factory and GraalVM defaults - add regression coverage for auto-selected sorted/container subclasses with preserved child state and comparator behavior ## Related issues Fixes #3521 ## Validation - `mvn -pl fory-core -Dtest=org.apache.fory.serializer.collection.ChildContainerSerializersTest,org.apache.fory.serializer.collection.CollectionSerializersTest,org.apache.fory.serializer.collection.MapSerializersTest,org.apache.fory.resolver.ClassResolverTest,org.apache.fory.serializer.ObjectStreamSerializerTest test` - `JAVA_HOME=$(/usr/libexec/java_home -v 21) mvn -pl fory-core spotless:check` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
