Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
When JavaBinCodec encounters a class it doesn't have explicit knowledge of how to serialize, nor does it implement the ObjectResolver interface, it currently serializes the object as the classname, colon, then toString() of the object.
This may appear innocent but not throwing an exception hides bugs. One example is that the UpdateLog, which uses JavaBinCodec, to save a document. The result is that this bad value winds up there, gets deserialized as a String in PeerSync (which uses /get) and then this value pretends to be a suitable value to the final document in the leader. But of course it isn't.
Attachments
Attachments
Issue Links
- relates to
-
SOLR-9230 Change of default to BinaryRequestWriter breaks some use cases
- Open