This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new afcacc0a13 [bugfix](compaction) fix compaction trigger (#14981)
afcacc0a13 is described below
commit afcacc0a13bfa0b6386bd538a3c8edfdf30aa44b
Author: yixiutt <[email protected]>
AuthorDate: Sun Dec 11 18:26:00 2022 +0800
[bugfix](compaction) fix compaction trigger (#14981)
fix bug that when disable_auto_compaction=true but still trigger compaction
---
be/src/agent/task_worker_pool.cpp | 28 ++++++++++++++++------------
be/src/olap/delta_writer.cpp | 3 ++-
be/src/vec/olap/vertical_merge_iterator.cpp | 3 ++-
3 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/be/src/agent/task_worker_pool.cpp
b/be/src/agent/task_worker_pool.cpp
index aa07c6834f..cbf3ffa0ee 100644
--- a/be/src/agent/task_worker_pool.cpp
+++ b/be/src/agent/task_worker_pool.cpp
@@ -726,19 +726,23 @@ void
TaskWorkerPool::_publish_version_worker_thread_callback() {
.error(status);
finish_task_request.__set_error_tablet_ids(error_tablet_ids);
} else {
- 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;
+ if (!config::disable_auto_compaction) {
+ 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];
}
- } else {
- LOG(WARNING) << "trigger compaction failed, tabletid:" <<
succ_tablet_ids[i];
}
}
LOG_INFO("successfully publish version")
diff --git a/be/src/olap/delta_writer.cpp b/be/src/olap/delta_writer.cpp
index b0f2dc6f30..ad3f884797 100644
--- a/be/src/olap/delta_writer.cpp
+++ b/be/src/olap/delta_writer.cpp
@@ -111,7 +111,8 @@ Status DeltaWriter::init() {
}
// check tablet version number
- if (_tablet->exceed_version_limit(config::max_tablet_version_num - 100)) {
+ if (!config::disable_auto_compaction &&
+ _tablet->exceed_version_limit(config::max_tablet_version_num - 100)) {
//trigger compaction
StorageEngine::instance()->submit_compaction_task(_tablet,
CompactionType::CUMULATIVE_COMPACTION);
diff --git a/be/src/vec/olap/vertical_merge_iterator.cpp
b/be/src/vec/olap/vertical_merge_iterator.cpp
index 1dd430b8ca..3a5bf46f62 100644
--- a/be/src/vec/olap/vertical_merge_iterator.cpp
+++ b/be/src/vec/olap/vertical_merge_iterator.cpp
@@ -281,6 +281,7 @@ Status VerticalMergeIteratorContext::init(const
StorageReadOptions& opts) {
Status VerticalMergeIteratorContext::advance() {
// NOTE: we increase _index_in_block directly to valid one check
+ _is_same = false;
do {
_index_in_block++;
if (LIKELY(_index_in_block < _block->rows())) {
@@ -543,4 +544,4 @@ std::shared_ptr<RowwiseIterator>
new_vertical_mask_merge_iterator(
}
} // namespace vectorized
-} // namespace doris
\ No newline at end of file
+} // namespace doris
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]