MCPcopy Create free account
hub / github.com/baidu/tera / CompactTablet

Method CompactTablet

src/tabletnode/remote_tabletnode.cc:527–548  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

525}
526
527void RemoteTabletNode::CompactTablet(google::protobuf::RpcController* controller,
528 const CompactTabletRequest* request,
529 CompactTabletResponse* response,
530 google::protobuf::Closure* done) {
531 uint64_t id = request->sequence_id();
532 LOG(INFO) << "accept RPC (CompactTablet) id: " << id
533 << ", src: " << tera::utils::GetRemoteAddress(controller);
534 compact_pending_counter.Inc();
535 ThreadPool::Task callback =
536 std::bind(&RemoteTabletNode::DoCompactTablet, this, controller, request, response, done);
537 // Reject all manual compact request when slowdown mode triggered.
538 if (TsWriteFlowController::Instance().InSlowdownMode()) {
539 LOG(WARNING) << "compact fail: " << request->tablet_name()
540 << " due to slowdown write mode triggered.";
541 response->set_sequence_id(request->sequence_id());
542 response->set_status(kFlowControlLimited);
543
544 done->Run();
545 return;
546 }
547 compact_thread_pool_->AddTask(callback);
548}
549
550void RemoteTabletNode::Update(google::protobuf::RpcController* controller,
551 const UpdateRequest* request, UpdateResponse* response,

Callers 1

DoCompactTabletMethod · 0.45

Calls 5

GetRemoteAddressFunction · 0.85
IncMethod · 0.80
InSlowdownModeMethod · 0.80
AddTaskMethod · 0.80
RunMethod · 0.45

Tested by

no test coverage detected