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