feat(java): support user context for serialize global data(#1595)
What does this PR do?
support user context for serialize user global context in some special sence. the changes in this pr are too simple and without design, just an example for the issue.
Related issues
- #1595
Does this PR introduce any user-facing change?
- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?
Benchmark
This is interesting. Withi this feature, we can implement some kinds of dictiontary encoding for data plane. I planed to implement it as DataContext before.
This will introduce a big change in user API. I will deep into it when I have time. Currently I'm on vacation.
And I future, we plan to profile user data, and generate new serializer based on the profiling result. For exmaple, disable/enabled number compression for specific fields. Check whether map keys are limited and use dict encoding. Will this design relate to it?
maybe it could be. I use Fury for RPC and have a big trouble is fury option can't change when code is going on. if we have more flexible context so that Fury could transmit data like ' fury options'/'user data'.
maybe it could be. I use Fury for RPC and have a big trouble is fury option can't change when code is going on. if we have more flexible context so that Fury could transmit data like ' fury options'/'user data'.
Could you share more details why you want to change fury options at runtime. It is designed to be immutable
maybe it could be. I use Fury for RPC and have a big trouble is fury option can't change when code is going on. if we have more flexible context so that Fury could transmit data like ' fury options'/'user data'.
Could you share more details why you want to change fury options at runtime. It is designed to be immutable
hoho, just image a scence for this feature 'generate new serializer based on the profiling result', maybe the deserializer can deserialize any Fury data even options is different. for now I dont need it. I just need a user context to save custom data.