You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/01/11 07:39:00 UTC

[jira] [Commented] (GEODE-9735) Avoid wan-copy region command to copy entries updated after it started

    [ https://issues.apache.org/jira/browse/GEODE-9735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17472512#comment-17472512 ] 

ASF subversion and git services commented on GEODE-9735:
--------------------------------------------------------

Commit efc526a1dcd6f27f8456337094657620b31de65a in geode's branch refs/heads/develop from Alberto Gomez
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=efc526a ]

GEODE-9735: Do not copy entries that have been updated after the comm… (#7003)

* GEODE-9735: Do not copy entries that have been updated after the command was run

* GEODE-9735: check if concurrencyChecksEnabled is true to use timestamps

> Avoid wan-copy region command to copy entries updated after it started
> ----------------------------------------------------------------------
>
>                 Key: GEODE-9735
>                 URL: https://issues.apache.org/jira/browse/GEODE-9735
>             Project: Geode
>          Issue Type: Improvement
>          Components: wan
>            Reporter: Alberto Gomez
>            Assignee: Alberto Gomez
>            Priority: Major
>              Labels: pull-request-available
>
> The wan-copy region command must not copy entries that have been created or updated after the command has started to copy entries.
> There are two reasons for this:
>  * Efficiency: entries copied after the command has been started will be replicated by the gateway sender anyway so the copying of these entries by the command will be a waste of processing resources and duplicated events will arrive to the remote site.
>  * Problematic reordering of events in the receiving side: if an entry is modified in the same millisecond in the source site and the wan-copy region command tries to copy this entry, it might happen that the command reads the first version of the entry and sends it to the remote site. The gateway sender will also send two events to the remote site, one with the first version of the entry and one with the second. If the event of the wan-copy region command containing the first version of the entry arrives to the remote site after the second event sent by the gateway sender, it will overwrite the second version causing an inconsistency between the two sites. The reason is that the granularity of the timestamp of events is of milliseconds and therefore the conflict resolver on the receiving side will not be able to detect that the event sent by the command is prior to the one received by the gateway sender.
> If entries updated while the command is running are not copied by the command, this problem is avoided.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)