[ 
https://issues.apache.org/jira/browse/IGNITE-28290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Steshin updated IGNITE-28290:
--------------------------------------
    Description: 
While refactoring discovery messages to {_}MessageSerializer{_}, we should 
remove _Serializables_ where possible. As much as we can. And use collections 
of _Message_ for included messages (like _TcpDiscoveryNodeAddedMessage#msgs)_ 
instead of collections of _TcpDiscoveryAbstractMessage_ and 
_prepareMarshall()/finishInmarshall()_ for them. However, the messages 
hierarchy and related dependencies often appear not so trivial and hinder 
removing of _Serializable_ and/or _prepareMarshall()/finishInmarshall()_ in a 
current ticket.

 

To get a message being refactored closer to the desired final design we might 
have a message for holding a collection of discovery messages being able to 
distinguish _Serializable_ messages and not refactored  
_TcpDiscoveryAbstractMessage._ And serialize them properly;

Benefits:
 * Storing/marking in one place messages that require post-refactoing of 
serialization of included discovery messages collections. We have to do this 
anyway.
 * Avoiding _MarshallableMessage_ only for 
_prepareMarshall()/finishInmarshall()_ of messages collection which might not 
yet be refactored to _Message/MessageSerializer_
 * Removing _Serializable_ off message classes even if this message might be 
included in such a discovery message collection.

 

When the messages refactoring is done, we're going to remove this message.

  was:
While refactoring discovery messages to MessageSerializer, we should remove 
_Serializables_ where possible. As much as we can. And use collections of 
_Message_ for included messages (like TcpDiscoveryNodeAddedMessage#msgs{_}){_} 
instead of collections of _TcpDiscoveryAbstractMessage_ and 
_prepareMarshall()/finishInmarshall()_ for them. However, the messages 
hierarchy and related dependencies often appear not so trivial and hinder 
removing of _Serializable_ and/or _prepareMarshall() / finishInmarshall()_ in a 
current ticket.

 

To get a message being refactored closer to the desired final design we might 
have a message for holding a collection of discovery messages being able to 
distinguish Serializable messages and not refactored  
_TcpDiscoveryAbstractMessage._ And serialize them properly;

Benefits:
 * Storing/marking in one place messages that require post-refactoing of 
serialization of included discovery messages collections. We have to do this 
anyway.
 * Avoiding MarshallableMessage only for _prepareMarshall()/finishInmarshall()_ 
of messages collection which might not yet be refactored to 
Message/MessageSerializer
 * Removing Serializable off message classes even if this message might be 
included in such a discovery message collection.

 

When the messages refactoring is done, we're going to remove this message.


> Utility discovery collection message.
> -------------------------------------
>
>                 Key: IGNITE-28290
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28290
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladimir Steshin
>            Priority: Major
>              Labels: IEP-132, ise
>
> While refactoring discovery messages to {_}MessageSerializer{_}, we should 
> remove _Serializables_ where possible. As much as we can. And use collections 
> of _Message_ for included messages (like _TcpDiscoveryNodeAddedMessage#msgs)_ 
> instead of collections of _TcpDiscoveryAbstractMessage_ and 
> _prepareMarshall()/finishInmarshall()_ for them. However, the messages 
> hierarchy and related dependencies often appear not so trivial and hinder 
> removing of _Serializable_ and/or _prepareMarshall()/finishInmarshall()_ in a 
> current ticket.
>  
> To get a message being refactored closer to the desired final design we might 
> have a message for holding a collection of discovery messages being able to 
> distinguish _Serializable_ messages and not refactored  
> _TcpDiscoveryAbstractMessage._ And serialize them properly;
> Benefits:
>  * Storing/marking in one place messages that require post-refactoing of 
> serialization of included discovery messages collections. We have to do this 
> anyway.
>  * Avoiding _MarshallableMessage_ only for 
> _prepareMarshall()/finishInmarshall()_ of messages collection which might not 
> yet be refactored to _Message/MessageSerializer_
>  * Removing _Serializable_ off message classes even if this message might be 
> included in such a discovery message collection.
>  
> When the messages refactoring is done, we're going to remove this message.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to