Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
When Redis commands are ongoing and a server that was previously not hosting a bucket becomes the host of the primary bucket for a key, there exists a time window where that server is performing GII but also receiving delta updates from the previous primary bucket. This can lead to the delta being applied to a data structure that is already in the “correct” state, resulting in the command being applied twice. This can result in duplicated appends, increments/decrements, and in the case of LTRIP and RPOP especially, IndexOutOfBoundsException on the member applying the delta, as the index to which the delta refers has already been removed.