[enhancement](compaction) opt compaction task producer and quick compaction (#13495)
1.remove quick_compaction's rowset pick policy, call cu compaction when trigger quick compaction 2. skip tablet's compaction task when compaction score is too small Co-authored-by: yixiutt <yixiu@selectdb.com>
This commit is contained in:
@ -731,29 +731,25 @@ void TaskWorkerPool::_publish_version_worker_thread_callback() {
|
||||
.error(status);
|
||||
finish_task_request.__set_error_tablet_ids(error_tablet_ids);
|
||||
} else {
|
||||
if (config::enable_quick_compaction && config::quick_compaction_batch_size > 0) {
|
||||
for (int i = 0; i < succ_tablet_ids.size(); i++) {
|
||||
TabletSharedPtr tablet =
|
||||
StorageEngine::instance()->tablet_manager()->get_tablet(
|
||||
succ_tablet_ids[i]);
|
||||
if (tablet != nullptr) {
|
||||
tablet->publised_count++;
|
||||
if (tablet->publised_count % config::quick_compaction_batch_size == 0) {
|
||||
StorageEngine::instance()->submit_quick_compaction_task(tablet);
|
||||
LOG(INFO) << "trigger quick compaction succ, tabletid:"
|
||||
<< succ_tablet_ids[i]
|
||||
<< ", publised:" << tablet->publised_count;
|
||||
}
|
||||
} else {
|
||||
LOG(WARNING) << "trigger quick compaction failed, tabletid:"
|
||||
<< succ_tablet_ids[i];
|
||||
for (int i = 0; i < succ_tablet_ids.size(); i++) {
|
||||
TabletSharedPtr tablet =
|
||||
StorageEngine::instance()->tablet_manager()->get_tablet(succ_tablet_ids[i]);
|
||||
if (tablet != nullptr) {
|
||||
tablet->publised_count++;
|
||||
if (tablet->publised_count % 10 == 0) {
|
||||
StorageEngine::instance()->submit_compaction_task(
|
||||
tablet, CompactionType::CUMULATIVE_COMPACTION);
|
||||
LOG(INFO) << "trigger compaction succ, tabletid:" << succ_tablet_ids[i]
|
||||
<< ", publised:" << tablet->publised_count;
|
||||
}
|
||||
} else {
|
||||
LOG(WARNING) << "trigger compaction failed, tabletid:" << succ_tablet_ids[i];
|
||||
}
|
||||
LOG_INFO("successfully publish version")
|
||||
.tag("signature", agent_task_req.signature)
|
||||
.tag("transaction_id", publish_version_req.transaction_id)
|
||||
.tag("tablets_num", succ_tablet_ids.size());
|
||||
}
|
||||
LOG_INFO("successfully publish version")
|
||||
.tag("signature", agent_task_req.signature)
|
||||
.tag("transaction_id", publish_version_req.transaction_id)
|
||||
.tag("tablets_num", succ_tablet_ids.size());
|
||||
}
|
||||
|
||||
status.to_thrift(&finish_task_request.task_status);
|
||||
|
||||
Reference in New Issue
Block a user