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]

Reply via email to