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

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

Commit f7905968b7b89db08c3edf180b91b3fdadfe45b7 in geode's branch 
refs/heads/support/1.15 from Donal Evans
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=f790596 ]

GEODE-9993: Make SMOVE transactional (#7321)

 - Use lockedExecuteInTransaction method in SMoveExecutor
 - Refactor RedisSet.sadd and RedisSet.srem to not modify the list of members 
passed to them
 - Do not use Delta in AbstractRedisData.storeChanges() if operation is using a 
transaction

Authored-by: Donal Evans <[email protected]>
(cherry picked from commit c0eb58e055a16fd5bc5bb22ad97d88739d55ae02)


> Redis SMOVE command should be atomic
> ------------------------------------
>
>                 Key: GEODE-9993
>                 URL: https://issues.apache.org/jira/browse/GEODE-9993
>             Project: Geode
>          Issue Type: Bug
>          Components: redis
>    Affects Versions: 1.15.0, 1.16.0
>            Reporter: Donal Evans
>            Assignee: Donal Evans
>            Priority: Major
>              Labels: blocks-1.15.0​, pull-request-available
>             Fix For: 1.15.0, 1.16.0
>
>
> The [documentation for the SMOVE command|https://redis.io/commands/SMOVE] 
> states that it is atomic. The current implementation in the geode-for-redis 
> module is not, which could result in partially-applied moves if servers crash 
> during a move.
> The implementation should be changed to use the 
> 'lockedExecuteInTransaction()' method in the SMoveExecutor class.



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

Reply via email to