You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Chudov (Jira)" <ji...@apache.org> on 2023/10/13 11:43:00 UTC

[jira] [Updated] (IGNITE-20609) Move last commit timestamp into BinaryRowMessage

     [ 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)