...
Message#writeTo, Message#readFrom logic is depends on a remote IgniteProductVersion.Message#writeTo, Message#readFrom is auto-generated and stored separately from Message DTO classes.Message fields contain:- primitive classes
- known collections
- POJO - that are other
Message - Users classes and java functions (e.g. ComputeJob), that will be serialized with
JdkMarshaller - byte[] fields (objects serialized externally) must be avoided as much as possible, because their compatibility can't be guaranteed
- Add
@Since, @Until annotations for Message classes and fields.
JavaSerialization
- Code generator must inject JdkMarshaller into Message and use it during serialization if JavaSerialization annotation is used.
Version check
- Ignite CI must notify for IF-clauses with condition based on IgniteVersion older than
(curVer - 1). - Ignite CI must forbid code changes if Message DTO changed without corresponding @Since, @Until annotations.
- Ignite CI must forbid code changes if Message DTO contains byte[] fields.
...
{"serverDuration": 125, "requestCorrelationId": "e1bb6923cf1af346"}