Skip to content

Commit 13910c5

Browse files
committed
address comment
Signed-off-by: Andy Lok <andylokandy@hotmail.com>
1 parent f07fbc8 commit 13910c5

File tree

9 files changed

+19
-6
lines changed

9 files changed

+19
-6
lines changed

examples/pessimistic.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ async fn main() {
2525
} else {
2626
Config::default()
2727
}
28+
// This example uses the default keyspace, so api-v2 must be enabled on the server.
2829
.with_default_keyspace();
2930

3031
// init

examples/raw.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ async fn main() -> Result<()> {
3232
} else {
3333
Config::default()
3434
}
35+
// This example uses the default keyspace, so api-v2 must be enabled on the server.
3536
.with_default_keyspace();
3637

3738
// When we first create a client we receive a `Connect` structure which must be resolved before
@@ -137,6 +138,7 @@ async fn main() -> Result<()> {
137138
);
138139
println!("Scanning batch scan from {batch_scan_keys:?} gives: {vals:?}");
139140

141+
// Delete all keys in the whole range.
140142
client.delete_range("".to_owned().."".to_owned()).await?;
141143

142144
Ok(())

examples/transaction.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ async fn main() {
8888
} else {
8989
Config::default()
9090
}
91+
// This example uses the default keyspace, so api-v2 must be enabled on the server.
9192
.with_default_keyspace();
9293

9394
let txn = Client::new_with_config(args.pd, config)

src/pd/retry.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ impl RetryClientTrait for RetryClient<Cluster> {
201201
}
202202

203203
async fn get_keyspace_id(&self, keyspace: &str) -> Result<u32> {
204-
retry_mut!(self, "get_keyspace_id", |cluster| async {
204+
retry!(self, "get_keyspace_id", |cluster| async {
205205
cluster.get_keyspace_id(keyspace).await
206206
})
207207
}

src/raw/client.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,7 @@ impl<PdC: PdClient> Client<PdC> {
692692
// limit is a soft limit, so we need check the number of results
693693
result.truncate(limit as usize);
694694

695-
// truncate the version of keys
695+
// truncate the prefix of keys
696696
let result = result.truncate_keyspace(self.keyspace);
697697

698698
Ok(result)

src/request/keyspace.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,15 @@ impl TruncateKeyspace for Vec<KvPair> {
149149
}
150150
}
151151

152+
impl TruncateKeyspace for Vec<crate::proto::kvrpcpb::LockInfo> {
153+
fn truncate_keyspace(mut self, keyspace: Keyspace) -> Self {
154+
for lock in self.locks.iter_mut() {
155+
lock.key.truncate_keyspace(self.keyspace);
156+
}
157+
self
158+
}
159+
}
160+
152161
fn keyspace_prefix(keyspace_id: u32, key_mode: KeyMode) -> [u8; KEYSPACE_PREFIX_LEN] {
153162
let mut prefix = keyspace_id.to_be_bytes();
154163
prefix[0] = match key_mode {

src/transaction/client.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ impl Client {
284284
.retry_multi_region(DEFAULT_REGION_BACKOFF)
285285
.merge(crate::request::Collect)
286286
.plan();
287-
plan.execute().await
287+
Ok(plan.execute().await?.truncate_keyspace(self.keyspace))
288288
}
289289

290290
/// Cleans up all keys in a range and quickly reclaim disk space.

src/transaction/lock.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ async fn resolve_lock_with_retry(
121121
let store = pd_client.clone().store_for_key(key.into()).await?;
122122
let ver_id = store.region_with_leader.ver_id();
123123
let request = requests::new_resolve_lock_request(start_version, commit_version);
124-
// The only place where single-region is used
125-
let plan = crate::request::PlanBuilder::new(pd_client.clone(), keyspace, request)
124+
let encoded_req = EncodedRequest::new(request, pd_client.get_codec());
125+
let plan = crate::request::PlanBuilder::new(pd_client.clone(), encoded_req)
126126
.single_region_with_store(store)
127127
.await?
128128
.resolve_lock(Backoff::no_backoff(), keyspace)

tests/common/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const REGION_SPLIT_TIME_LIMIT: Duration = Duration::from_secs(15);
2525
// Delete all entries in TiKV to leave a clean space for following tests.
2626
pub async fn clear_tikv() {
2727
// DEFAULT_REGION_BACKOFF is not long enough for CI environment. So set a longer backoff.
28-
// let backoff = tikv_client::Backoff::no_jitter_backoff(100, 30000, 20);
28+
let backoff = tikv_client::Backoff::no_jitter_backoff(100, 30000, 20);
2929
let raw_client =
3030
RawClient::new_with_config(pd_addrs(), Config::default().with_default_keyspace())
3131
.await

0 commit comments

Comments
 (0)