File tree Expand file tree Collapse file tree 2 files changed +13
-4
lines changed Expand file tree Collapse file tree 2 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -151,8 +151,18 @@ impl TruncateKeyspace for Vec<KvPair> {
151
151
152
152
impl TruncateKeyspace for Vec < crate :: proto:: kvrpcpb:: LockInfo > {
153
153
fn truncate_keyspace ( mut self , keyspace : Keyspace ) -> Self {
154
- for lock in self . locks . iter_mut ( ) {
155
- lock. key . truncate_keyspace ( self . keyspace ) ;
154
+ for lock in & mut self {
155
+ take_mut:: take ( & mut lock. key , |key| {
156
+ Key :: from ( key) . truncate_keyspace ( keyspace) . into ( )
157
+ } ) ;
158
+ take_mut:: take ( & mut lock. primary_lock , |primary| {
159
+ Key :: from ( primary) . truncate_keyspace ( keyspace) . into ( )
160
+ } ) ;
161
+ for secondary in lock. secondaries . iter_mut ( ) {
162
+ take_mut:: take ( secondary, |secondary| {
163
+ Key :: from ( secondary) . truncate_keyspace ( keyspace) . into ( )
164
+ } ) ;
165
+ }
156
166
}
157
167
self
158
168
}
Original file line number Diff line number Diff line change @@ -121,8 +121,7 @@ async fn resolve_lock_with_retry(
121
121
let store = pd_client. clone ( ) . store_for_key ( key. into ( ) ) . await ?;
122
122
let ver_id = store. region_with_leader . ver_id ( ) ;
123
123
let request = requests:: new_resolve_lock_request ( start_version, commit_version) ;
124
- let encoded_req = EncodedRequest :: new ( request, pd_client. get_codec ( ) ) ;
125
- let plan = crate :: request:: PlanBuilder :: new ( pd_client. clone ( ) , encoded_req)
124
+ let plan = crate :: request:: PlanBuilder :: new ( pd_client. clone ( ) , keyspace, request)
126
125
. single_region_with_store ( store)
127
126
. await ?
128
127
. resolve_lock ( Backoff :: no_backoff ( ) , keyspace)
You can’t perform that action at this time.
0 commit comments