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)