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

Denis Chudov updated IGNITE-20609:
----------------------------------
    Description: 
*Motivation*
UpdateAllCommand now has two maps:
{{Map<UUID, BinaryRowMessage> rowsToUpdate()}}
and 
{{Map<UUID, Long> lastCommitTimestampsLong()}} and the keys in both maps denote 
to the same set of rows.

We can get rid of the duplication to *reduce the size of the message* if 
instead of two maps we had a single one where the new value class would contain 
both {{BinaryRowMessage}} and last row commit timestamp.

*Implementation details*
 # BinaryRowMessage is used in many other places, perhaps we could subsclass it 
instead of adding more data to the message class itself.
 # While implementing this task we need to be careful since currently a null 
BinaryRowMessage is a valid case when we perform DELETE. If we subclass 
BinaryRowMessage, we should also change the nullability of the row.

  was:
*Motivation*
UpdateAllCommand now has two maps:
{{Map<UUID, BinaryRowMessage> rowsToUpdate()}}
and 
{{Map<UUID, Long> lastCommitTimestampsLong()}} and the keys in both maps denote 
to the same set of rows.

We can get rid of the duplication to *reduce the side of the message* if 
instead of two maps we had a single one where the new value class would contain 
both {{BinaryRowMessage}} and last row commit timestamp.

*Implementation details*
# BinaryRowMessage is used in many other places, perhaps we could subsclass it 
instead of adding more data to the message class itself.
# While implementing this task we need to be careful since currently a null 
BinaryRowMessage is a valid case when we perform DELETE. If we subclass 
BinaryRowMessage, we should also change the nullability of the row.



> Move last commit timestamp into BinaryRowMessage
> ------------------------------------------------
>
>                 Key: IGNITE-20609
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20609
>             Project: Ignite
>          Issue Type: Task
>            Reporter:  Kirill Sizov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation*
> UpdateAllCommand now has two maps:
> {{Map<UUID, BinaryRowMessage> rowsToUpdate()}}
> and 
> {{Map<UUID, Long> lastCommitTimestampsLong()}} and the keys in both maps 
> denote to the same set of rows.
> We can get rid of the duplication to *reduce the size of the message* if 
> instead of two maps we had a single one where the new value class would 
> contain both {{BinaryRowMessage}} and last row commit timestamp.
> *Implementation details*
>  # BinaryRowMessage is used in many other places, perhaps we could subsclass 
> it instead of adding more data to the message class itself.
>  # While implementing this task we need to be careful since currently a null 
> BinaryRowMessage is a valid case when we perform DELETE. If we subclass 
> BinaryRowMessage, we should also change the nullability of the row.



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

Reply via email to