[
https://issues.apache.org/jira/browse/IGNITE-28594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ilya Shishkov updated IGNITE-28594:
-----------------------------------
Description:
{{DiscoveryDataBag}} for joining node data:
# Stores it in {{#joiningNodeData}} map of type {{Map<Integer, Serializable>}}
# Uses {{JoiningNodeDiscoveryData#joiningNodeData}} with return type
{{Serializable}} to provide it to Ignite components.
*For the RU purposes:*
# {{Serializable}} should be replaced by {{Message}} for joining node data in
{{DiscoveryDataBag}}, {{DiscoveryDataPacket}} and corresponing Ignite
components.
# Corresponding data classes should implement {{Message}} as much as possible.
Eg., {{NodeEncryptionKeys}}, {{GroupKeyEncrypted}} can be easely refactored to
become messages.
# For generic objects like consistent id, node attributes extra message wrapper
can be used, eg.:
{code}
public class ObjectData implements MarshallableMessage {
private Serializable data;
@Order(0)
byte[] dataBytes;
...
}
{code}
was:
{{DiscoveryDataBag}} for joining node data:
# Stores it in {{#joiningNodeData}} map of type {{Map<Integer, Serializable>}}
# Uses {{JoiningNodeDiscoveryData#joiningNodeData}} with return type
{{Serializable}} to provide it to Ignite components.
*For the RU purposes:*
# {{Serializable}} should be replaced by {{Message}} for joining node data in
{{DiscoveryDataBag}}, {{DiscoveryDataPacket}} and corresponing Ignite
components.
# Corresponding data classes should implement {{Message}} as much as possible.
Eg., {{NodeEncryptionKeys}}, {{GroupKeyEncrypted}} can be easely transormed to
messages.
# For generic objects like consistent id, node attributes extra message wrapper
can be used, eg.:
{code}
public class ObjectData implements MarshallableMessage {
private Serializable data;
@Order(0)
byte[] dataBytes;
...
}
{code}
> Use Message DTO for DiscoveryDataBag#JoiningNodeDiscoveryData
> -------------------------------------------------------------
>
> Key: IGNITE-28594
> URL: https://issues.apache.org/jira/browse/IGNITE-28594
> Project: Ignite
> Issue Type: Task
> Reporter: Ilya Shishkov
> Assignee: Ilya Shishkov
> Priority: Major
> Labels: IEP-132, ise
> Fix For: 2.19
>
> Time Spent: 4h 10m
> Remaining Estimate: 0h
>
> {{DiscoveryDataBag}} for joining node data:
> # Stores it in {{#joiningNodeData}} map of type {{Map<Integer, Serializable>}}
> # Uses {{JoiningNodeDiscoveryData#joiningNodeData}} with return type
> {{Serializable}} to provide it to Ignite components.
> *For the RU purposes:*
> # {{Serializable}} should be replaced by {{Message}} for joining node data in
> {{DiscoveryDataBag}}, {{DiscoveryDataPacket}} and corresponing Ignite
> components.
> # Corresponding data classes should implement {{Message}} as much as
> possible. Eg., {{NodeEncryptionKeys}}, {{GroupKeyEncrypted}} can be easely
> refactored to become messages.
> # For generic objects like consistent id, node attributes extra message
> wrapper can be used, eg.:
> {code}
> public class ObjectData implements MarshallableMessage {
> private Serializable data;
> @Order(0)
> byte[] dataBytes;
> ...
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)