ns3154 opened a new pull request, #107:
URL: https://github.com/apache/dubbo-hessian-lite/pull/107

   ## What
   
   Adds two regression tests to `RecordTest` covering shared object references 
during Hessian2 record deserialization.
   
   ## Why
   
   Two open `help wanted` issues report that records sharing a nested reference 
get corrupted on deserialization:
   
   - #80 — two records sharing the same nested record threw 
`IndexOutOfBoundsException: Index N out of bounds for length N` while resolving 
the back reference.
   - #81 — a record holding a `List` of POJOs that share an `enum` constant 
garbled every element after the first.
   
   Both were already fixed by #86, which pre-allocates a `null` ref slot 
(`addRef(null)` … `setRef(ref, obj)`) before invoking the record's canonical 
constructor so that the output and input sides assign reference ids in the same 
order. That fix, however, landed without any regression test, and both issues 
are still open.
   
   ## How verified
   
   Each test fails against the pre-#86 code and passes on current `master`:
   
   - Reverting #86 makes `testSharedRecordReference` throw the exact 
`IndexOutOfBoundsException` from #80, and `testSharedEnumInListOfPojo` fail 
with the reference corruption from #81.
   - On current `master` both pass. Full suite green: `java-8-test` 197, 
`java-11-test` 5, `java-17-test` 25 (including the 2 new tests), 0 failures.
   
   Closes #80
   Closes #81


-- 
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