kvrocks
kvrocks copied to clipboard
Kvrocks sends negative ttl while migrating slot
Search before asking
- [X] I had searched in the issues and found no similar issues.
Version
OS: Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04
Kvrocks: v2.1.0
Minimal reproduce step
- Create a kvrocks cluster of 2 nodes:
127.0.0.1:6666> cluster nodes
KEp2lfd524nItcLDNm=nkrTgxxRa2OnyfCorGqiw 127.0.0.1:6666@16666 myself,master - 1663582260999 1663582261000 1 connected 0-8191
iv3zxA39N1kXg23BmGAchLynaNCG2K284QvpgklT 127.0.0.1:6667@16667 master - 1663582260999 1663582261000 1 connected 8192-16383
- Set a key into one node, which expres in 5 seconds:
127.0.0.1:6666> set key00000000000000007100 key00000000000000007100 ex 5
OK
- Check the slot:
127.0.0.1:6666> cluster keyslot key00000000000000007100
(integer) 35
- After 5 seconds, migrate the slot to the other node, the migration will fail:
127.0.0.1:6666> clusterx migrate 35 iv3zxA39N1kXg23BmGAchLynaNCG2K284QvpgklT
OK
127.0.0.1:6666> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:2
cluster_size:2
cluster_current_epoch:1
cluster_my_epoch:1
migrating_slot: 35
destination_node: iv3zxA39N1kXg23BmGAchLynaNCG2K284QvpgklT
migrating_state: fail
- Error log:
E20220919 18:14:55.837342 639656 slot_migrate.cc:495] [migrate] Got invalid response: -ERR invalid expire time, line length: 24
E20220919 18:14:55.837354 639656 slot_migrate.cc:793] [migrate] Wrong response
E20220919 18:14:55.837363 639656 slot_migrate.cc:320] [migrate] Failed to send left data in pipeline
E20220919 18:14:55.837378 639656 slot_migrate.cc:182] [migrate] Failed to send snapshot
I20220919 18:14:55.837489 639656 slot_migrate.cc:211] [migrate] Failed to migrate slot35
I20220919 18:14:55.837498 639656 slot_migrate.cc:380] [migrate] Clean resources of migrating slot 35
What did you expect to see?
Migrate success when executing cluster info.
What did you see instead?
Migrate failed.
Anything Else?
No response
Are you willing to submit a PR?
- [X] I'm willing to submit a PR!
Cool, thanks for your feedback.
Looking forward to your PR
Indeed, this is a bug. For expired keys, we should filter them out at the source side.
@ellutionist @git-hulk @caipengbo shall we close this issue as completed with https://github.com/apache/incubator-kvrocks/pull/901?
Yes, sorry for forgetting this issue.