bseto opened a new issue, #2987: URL: https://github.com/apache/kvrocks/issues/2987
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/kvrocks/issues) and found no similar issues. ### Version Tried in two environments, and was able to see the migration fail on both ## Environment 1 Amazon Linux release 2023.7.20250512 kvrocks version 2.12.1 ## Environment 2 (on my local mac) Docker with: FROM apache/kvrocks:latest - org.opencontainers.image.created: 2025-03-11T02:12:09.877Z - org.opencontainers.image.revision: b8db0e75553ccf6e02cde66c382d86a7d7ec5570 ### Minimal reproduce step If we launch with the `working` configuration, and then follow the common steps, migration will work. However, if we follow the `not working` configuration, and then follow the common steps, migration will not work ### Working Launch 2 kvrocks nodes with `--cluster-enabled yes` ### Not Working Launch 2 kvrocks nodes with `--cluster-enabled yes --rocksdb.row_cache_size 1000` ### Common Steps: With my setup, I have two nodes on port 6000, and 6003 1. Start up a kvrocks controller 2. Create a namespace ``` ./_build/kvctl create namespace test-ns ``` 3. Create a cluster of just 1 node with the first node (i've added kvrocks0 to my /etc/hosts to point to 127.0.0.1) ``` ./_build/kvctl create cluster test-cluster0 --nodes kvrocks0:6000 -n test-ns ``` 4. Create a new shard with the 2nd node ``` ./_build/kvctl create shard -n test-ns -c test-cluster0 --nodes kvrocks3:6003 ``` 5. migrate slots ``` ./_build/kvctl migrate slot 10922-16383 --target 1 -n test-ns -c test-cluster0 ``` ### What did you expect to see? ``` controller/cluster.go:360","msg":"Migrate the slot successfully","namespace":"test-ns","cluster":"test-cluster0","slot":"10922-16383"} ``` ### What did you see instead? ### With --rocksdb.row_cache_size 1000: On the kvrocks-controller I'll see: ``` "caller":"controller/cluster.go:349","msg":"Failed to migrate the slot","namespace":"test-ns","cluster":"test-cluster0","slot":"10922-16383"} ``` And on the kvrocks node I see: ``` E20250521 22:39:02.587806 270160076237728 slot_migrate.cc:195] [migrate] Failed to start migrating slot(s) 10922-16383. Error: failed to set import status on destination node: failed to check the response from the destination node: got invalid response of length 96: -ERR clear keys of slot(s) error: Not implemented: DeleteRange is not compatible with row cache. E20250521 22:39:02.588477 270160076237728 slot_migrate.cc:245] [migrate] Failed to finish a failed migration of slot(s) 10922-16383. Error: failed to set import status on destination node: failed to check the response from the destination node: got invalid response of length 63: -ERR mismatch slot, importing slot(s): -1, but got: 10922-16383 ``` To me, it looks like this is the reason: `Not implemented: DeleteRange is not compatible with row cache.` ### Anything Else? I think if migrating slots is just not supported with row cache enabled, maybe the readme for the config should mention that. ### Are you willing to submit a PR? - [ ] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
