[
https://issues.apache.org/jira/browse/IGNITE-8611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Artem Budnikov updated IGNITE-8611:
-----------------------------------
Description:
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.
was:
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.
> 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
> Assignee: Artem Budnikov
> Priority: Minor
>
> 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)