Open limbooverlambda opened 7 months ago
Anyone who can shed some light on this?
Hi @limbooverlambda, Thank you for your issue. The feature you mentioned has not yet been implemented in client-rust.If you're interested in contributing a PR to it,we would be very welcome!
Thank @ystaticy . I will be more than happy to contribute. I am however a little unsure about the sequence of events here. Once a Keyspace is marked as disabled, any request from the client can still go through and end up in the TiKV node. If the data is present (the disabled Keyspace has not been GCed), TiKV will still return the data from the disabled keyspaces. In that case client_rust will not not be disabling the keyspace locally. Do we need a periodic polling mechanism for all the keyspaces cached by the client to ensure that they are still valid?
Bug Report
What did you do?
I am evaluating the Keyspace APIs that are supported by TiKV API v2 (https://github.com/tikv/client-rust). I am running TiUP locally. I created a non-default keyspace "foo" as follows:
Looking for the keyspaces:
I am using the TiKV rust client and looks like all the operations are working against the "foo" keyspace.
Now, I decide to disable the "foo" keyspace as follow:
The keyspace foo is disabled:
Now I send the same operations to the disabled Keyspace.
What did you expect to see?
I expect all operations to fail for the disabled Keyspace. Both PD and Storage Node (tikv) should honor the disabled status of the keyspace and not return any results associated with keys prefixed with the keyspace identifier.
What did you see instead?
All operations are returning keys and values from the disabled keyspace.
What version of PD are you using (
pd-server -V
)?Using Tiup /.tiup/components/playground/v1.13.1/tiup-playground --mode tikv-slim --pd.port 19165 --kv.config tikv.yaml