FLUSHSLOTS bug
When running DFLYCLUSTER FLUSHSLOTS <range_start> <range_end> we want to delete all the slots data in given range. To do this we create a fiber which will traverse the dash table and if the key belong to this slot and the bucket version is <= version time of the command it will be deleted. The problem with this implementation is that if while yielding from this fiber we insert new entry to a bucket in which there is a key to be removed as it is in the flush slot range we will update the bucket version hence when we will get to this bucket in the traverse we will not delete the slot data.
The fix is simple, imho. We do something similar in snapshotting by traversing the physical bucket for other entries.
@romange I dont think it is related to traversing the physical bucket. When we insert to some bucket we update this bucket version. This is a bit similar to preupdate regiter when snapshoting where we serialise before we update the bucket. We need to delete the slots data in this bucket before we insert to the bucket and update it snapshot version