He-Pin commented on code in PR #3649:
URL: https://github.com/apache/pekko/pull/3649#discussion_r4355862446
##########
serialization-jackson/src/main/resources/reference.conf:
##########
@@ -296,5 +296,8 @@ pekko.actor {
# open ended types that might be target to be deserialization gadgets,
such as
# java.lang.Object, java.io.Serializable, java.util.Comparable
+ # Predefined marker traits/interfaces
+ "org.apache.pekko.serialization.jackson.JsonSerializable" = jackson-json
Review Comment:
This new default binding breaks existing manifest-less configurations. With
`type-in-manifest = off`, no explicit `deserialization-type`, and one
application binding to `jackson-json`, `JacksonSerializer.scala:255-269` now
counts the predefined marker as a second binding and throws
`IllegalArgumentException`. The same issue affects CBOR and the Jackson 3
module.
I reproduced all four cases against this head and its Jackson 2.22.4 / 3.2.4
dependencies: disabling the predefined marker restores the previous successful
inference. Existing tests use a separate serializer alias/id and miss this case.
Please preserve inference from the single application binding, excluding
predefined fallback markers as inferred types, and add directional JSON/CBOR
tests in both modules. Keep explicit `deserialization-type` working and reject
the marker-only configuration instead of inferring an abstract marker.
--
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]