| 310 | //} |
| 311 | |
| 312 | comm::RetCode CleanThread::ProposeCleanLock(const int paxos_group_id, |
| 313 | const vector<proto::LockKeyInfo> &lock_key_infos) { |
| 314 | // TODO: clean one by one |
| 315 | //vector<phxqueue_proto::LockKeyInfo> lock_key_infos2; |
| 316 | //int max_clean_lock_num{impl_->lock->GetLockOption()->max_clean_lock_num}; |
| 317 | //lock_key_infos2.reserve(max_clean_lock_num); |
| 318 | //for (auto &&lock_key_info : lock_key_infos) { |
| 319 | // // TODO: use move? |
| 320 | // lock_key_infos2.push_back(lock_key_info); |
| 321 | // if (lock_key_infos2.size() >= max_clean_lock_num) { |
| 322 | // phxqueue_proto::LockPaxosArgs args; |
| 323 | |
| 324 | // // 1. make args |
| 325 | // for (auto &&lock_key_info : lock_key_infos2) { |
| 326 | // phxqueue_proto::LockKeyInfo *new_lock_key_info{args.mutable_clean_lock_req()->add_lock_key_infos()}; |
| 327 | // new_lock_key_info->set_version(lock_key_info.version()); |
| 328 | // new_lock_key_info->set_lock_key(lock_key_info.lock_key()); |
| 329 | // } |
| 330 | |
| 331 | // // 2. serialize args to paxos value |
| 332 | // string buf; |
| 333 | // args.SerializeToString(&buf); |
| 334 | |
| 335 | // // 3. send to paxos |
| 336 | // LockContext lc; |
| 337 | // phxpaxos::SMCtx sm_ctx(LockSM::ID, &lc); |
| 338 | // uint64_t instance_id{0}; |
| 339 | // int paxos_ret{impl_->lock->GetNode()->Propose(paxos_group_id, buf, instance_id, &sm_ctx)}; |
| 340 | // if (phxpaxos::PaxosTryCommitRet_OK != paxos_ret) { |
| 341 | // QLErr("paxos_group_id %d Propose err %d buf.size %zu", paxos_group_id, paxos_ret, buf.size()); |
| 342 | // // TODO: |
| 343 | // //OssAttrInc(mgr_->oss_attr_id(), 107u, 1u); |
| 344 | |
| 345 | // continue; |
| 346 | // } else { |
| 347 | // QLInfo("paxos_group_id %d Propose ok instance_id %llu buf.size %zu", |
| 348 | // paxos_group_id, instance_id, buf.size()); |
| 349 | // // TODO: |
| 350 | // //OssAttrInc(mgr_->oss_attr_id(), 106u, 1u); |
| 351 | // } |
| 352 | |
| 353 | // // 4. reset |
| 354 | // lock_key_infos2.clear(); |
| 355 | // } |
| 356 | //} |
| 357 | |
| 358 | return comm::RetCode::RET_OK; |
| 359 | } |
| 360 | |
| 361 | |
| 362 | } // namespace lock |
nothing calls this directly
no outgoing calls
no test coverage detected