Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Java][Doc] Java object graph specification #1239

Closed
chaokunyang opened this issue Dec 20, 2023 · 0 comments · Fixed by #1240
Closed

[Java][Doc] Java object graph specification #1239

chaokunyang opened this issue Dec 20, 2023 · 0 comments · Fixed by #1240
Labels
documentation Improvements or additions to documentation enhancement New feature or request java

Comments

@chaokunyang
Copy link
Collaborator

chaokunyang commented Dec 20, 2023

Is your feature request related to a problem? Please describe.

Java object graph spec documentation is missing a specification, many users and developers want to see fury spec for better understanding fury serialization machinery.

We should have a formal spec document for this, and it can be used by future contributors for better improvement of the prototol and hte implementation.

Describe the solution you'd like

Additional context

#1017

@chaokunyang chaokunyang added documentation Improvements or additions to documentation enhancement New feature or request java labels Dec 20, 2023
@chaokunyang chaokunyang changed the title [Java][Doc] Java object graph spec documentation [Java][Doc] Java object graph specification Dec 20, 2023
chaokunyang added a commit that referenced this issue 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request java
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant