Skip to content

Conversation

@chaokunyang
Copy link
Collaborator

@chaokunyang chaokunyang commented Dec 18, 2023

What do these changes do?

This PR formalize fury java specification with following changes:

There are still more improvement space in fury java protocol, such improvements will be added in a follow-up PR.

Related issue number

#1239

Check code requirements

  • tests added / passed (if needed)
  • Ensure all linting tests pass, see here for how to run them

@theweipeng theweipeng merged commit fd67af5 into apache:main Dec 20, 2023
@chaokunyang chaokunyang changed the title [Doc][Spec] fury java spec [Doc][Spec][1/2] fury java spec Dec 20, 2023
@chaokunyang chaokunyang changed the title [Doc][Spec][1/2] fury java spec [Doc][Spec] fury java serialization spec Dec 20, 2023
chaokunyang added a commit that referenced this pull request Feb 28, 2024
<!--
Thank you for your contribution!

Please review https://github.com/alipay/fury/blob/main/CONTRIBUTING.rst
before opening a pull request.
-->

## What do these changes do?
This PR refine fury java serialization format spec. The cross-language
object graph serialization spec is similar and will be added in a later
PR, but it needs more discuss.

This PR added some new spec which hasn't been implemented in current
java implementation:
- chunk-by-chunk predictive map serialization: #925
- layed class meta
- new class meta encoding
- #1229 
- object serialization with schema evolution support by auto meta share.

Some parts has been omitted in this spec:
- object serialization with schema evolution support by write field in a
KV like pattern: this will be replaced by schema evolution mode
described in this spec in the future.

Currently fury doesn't provide binary compatibility, the spec may be
revised in the future.

<!-- Please give a short brief about these changes. -->

## Related issue number

<!-- Are there any issues opened that will be resolved by merging this
change? -->
Closes #1239 

#1238

## Check code requirements

- [ ] tests added / passed (if needed)
- [ ] Ensure all linting tests pass, see
[here](https://github.com/alipay/fury/blob/main/CONTRIBUTING.rst) for
how to run them

---------

Co-authored-by: Twice <twice@apache.org>
@chaokunyang chaokunyang deleted the new_fury_java_spec branch April 1, 2024 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants