Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. MessageWriter, MessageReader logic is depends on a remote IgniteProductVersion.
  2. Message#writeTo, Message#readFrom is auto-generated and stored separately from Message DTO classes.
  3. Add Message#writeJavaObject - for serializing Java functions and user objects (ComputeJob, etc) with JdkMarshaller.
  4. Message fields contain:
    1. primitive classes
    2. known collections
    3. POJO - that are other Message
    4. Users classes and java functions (e.g. ComputeJob).
    5. byte[] fields (objects serialized externally) must be avoided as much as possible, because their compatibility can't be guaranteed
  5. Add @Since, @Until  annotations for Message classes and fields.

...

Code checks

  1. Ignite CI must notify for IF-clauses with condition based on IgniteVersion older than (curVer - 1).
  2. Ignite CI must forbid code changes if Message DTO changed without corresponding @Since, @Until annotations.
  3. Ignite CI must forbid code changes if Message DTO contains byte[] fields.

...