junjiexh opened a new pull request, #2607:
URL: https://github.com/apache/fory/pull/2607

   ## Why?
   
   Type-forward and backward-compatible serialization are crucial for online 
services where different services update their data schemas and deploy at 
different times. This ensures that a service running an older schema can still 
communicate with a service using a newer one, and vice versa.This PR is part of 
the work of it. The previous PR is #2554 , and following pr are still work in 
process.
   
   ## What does this PR do?
   
   This PR implements a metashare mode for the fory-go.
   
   Specifically, it:
   
   Provides a user option to enable compatible mode.
   
   If compatible mode is enabled, the serialization process not only serializes 
the data but also its detailed type information into a binary format.
   
   The reading peer, if compatible mode is enabled, will first attempt to read 
this type information before deserializing the data. This allows it to handle 
data serialized with a different schema.
   
   This implementation is heavily inspired by the existing Java and Python 
implementations, ensuring consistency across framework.
   
   All progress and todos:
   - [x] metadata encoding and decoding
   - [x] Integrate into the main flow to enable metadata sharing
   - [  ] Add support for collection types (map, slice, set, etc.)
   - [  ] Add support for compressed type definitions
   - [  ] Test with python
   
   ## Related issues
   
   #2192
   
   ## Does this PR introduce any user-facing change?
   
   <!--
   If any user-facing interface changes, please [open an 
issue](https://github.com/apache/fory/issues/new/choose) describing the need to 
do so and update the document if necessary.
   
   Delete section if not applicable.
   -->
   
   - [x] Does this PR introduce any public API change? Yes.
   - [x] Does this PR introduce any binary protocol compatibility change? No.
   
   ## Benchmark
   
   <!--
   When the PR has an impact on performance (if you don't know whether the PR 
will have an impact on performance, you can submit the PR first, and if it will 
have impact on performance, the code reviewer will explain it), be sure to 
attach a benchmark data here.
   
   Delete section if not applicable.
   -->
   


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