You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Stanislav Lukyanov (JIRA)" <ji...@apache.org> on 2018/05/24 20:15:00 UTC

[jira] [Created] (IGNITE-8611) Binary marshaller documentation should cover how data classes can or can't be changed

Stanislav Lukyanov created IGNITE-8611:
------------------------------------------

             Summary: Binary marshaller documentation should cover how data classes can or can't be changed
                 Key: IGNITE-8611
                 URL: https://issues.apache.org/jira/browse/IGNITE-8611
             Project: Ignite
          Issue Type: Improvement
          Components: documentation
            Reporter: Stanislav Lukyanov


Binary marshaller docs (https://apacheignite.readme.io/docs/binary-marshaller) give an idea that a class structure may be changed (fields can be added or removed) and the marshaller will handle such change.

However, not all changes are supported.
One corner case is when an enum value is stored in the cache: if the order of the enum constants is changed, or if a new constant is added at the start or at the middle of the constants list, it will lead to an error. This is because the enums are stored as ordinals (integers), and the ordinals of an enum depend on the order of values in the code.

The task is to update the documentation with the description of data class changes that are incompatible from binary marshallers point of view. At least the enum case should be covered. If more cases are discovered, they should be documented as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)