This is an automated email from the ASF dual-hosted git repository.
dataroaring 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 5d5f1e54cdd [fix](cluster key) fix bug if be enable
enable_rowid_conversion_correctness_check (#44914)
5d5f1e54cdd is described below
commit 5d5f1e54cdd445ffb4f8c32376fe82c36496cb6d
Author: meiyi <[email protected]>
AuthorDate: Wed Dec 4 11:38:37 2024 +0800
[fix](cluster key) fix bug if be enable
enable_rowid_conversion_correctness_check (#44914)
fix:
```
terminate called after throwing an instance of 'std::system_error'
what(): Resource deadlock avoided
*** Query id: 0-0 ***
*** is nereids: 0 ***
*** tablet id: 1980528 ***
*** Aborted at 1733280745 (unix time) try "date -d @1733280745" if you are
using GNU date ***
*** Current BE git commitID: 009e5a82c4 ***
*** SIGABRT unknown detail explain (@0x4290022570e) received by PID 2250510
(TID 2251330 OR 0x7f21b45dd700) from PID 2250510; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int,
siginfo_t*, void*) at
/mnt/disk2/meiyi/clion_workspace/doris/be/src/common/signal_handler.h:421
1# 0x00007F24197AFB50 in /lib64/libc.so.6
2# gsignal in /lib64/libc.so.6
3# __GI_abort in /lib64/libc.so.6
4# __gnu_cxx::__verbose_terminate_handler() [clone .cold] at
../../../../libstdc++-v3/libsupc++/vterminate.cc:75
5# __cxxabiv1::__terminate(void (*)()) at
../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48
6# 0x0000564E1F9917D1 in
/mnt/disk2/meiyi/deployment/doris/output/be/lib/doris_be
7# 0x0000564E1F991924 in
/mnt/disk2/meiyi/deployment/doris/output/be/lib/doris_be
8# std::__throw_system_error(int) at
../../../../../libstdc++-v3/src/c++11/system_error.cc:338
9# std::__shared_mutex_pthread::lock_shared() at
/mnt/disk2/meiyi/soft/ldb_toolchain_2/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/shared_mutex:232
10# std::shared_mutex::lock_shared() at
/mnt/disk2/meiyi/soft/ldb_toolchain_2/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/shared_mutex:426
11# std::shared_lock<std::shared_mutex>::shared_lock(std::shared_mutex&) at
/mnt/disk2/meiyi/soft/ldb_toolchain_2/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/shared_mutex:727
12# doris::BaseTablet::tablet_schema() const at
/mnt/disk2/meiyi/clion_workspace/doris/be/src/olap/base_tablet.h:91
13#
doris::BaseTablet::check_rowid_conversion(std::shared_ptr<doris::Rowset>,
std::map<std::shared_ptr<doris::Rowset>,
std::__cxx11::list<std::pair<doris::RowLocation, doris::RowLocation>,
std::allocator<std::pair<doris::RowLocation, doris::RowLocation> > >,
std::less<std::shared_ptr<doris::Rowset> >,
std::allocator<std::pair<std::shared_ptr<doris::Rowset> const,
std::__cxx11::list<std::pair<doris::RowLocation, doris::RowLocation>,
std::allocator<std::pair<doris::RowLocation, doris::R [...]
14# doris::CompactionMixin::modify_rowsets() at
/mnt/disk2/meiyi/clion_workspace/doris/be/src/olap/compaction.cpp:1087
15# doris::CompactionMixin::execute_compact_impl(long) at
/mnt/disk2/meiyi/clion_workspace/doris/be/src/olap/compaction.cpp:472
16# doris::CompactionMixin::execute_compact() at
/mnt/disk2/meiyi/clion_workspace/doris/be/src/olap/compaction.cpp:425
17# doris::CumulativeCompaction::execute_compact() at
/mnt/disk2/meiyi/clion_workspace/doris/be/src/olap/cumulative_compaction.cpp:111
18#
doris::Tablet::execute_compaction(doris::CompactionMixin&)::$_0::operator()()
const at /mnt/disk2/meiyi/clion_workspace/doris/be/src/olap/tablet.cpp:1850
19# doris::Tablet::execute_compaction(doris::CompactionMixin&) at
/mnt/disk2/meiyi/clion_workspace/doris/be/src/olap/tablet.cpp:1850
```
---
be/src/cloud/cloud_tablet.cpp | 3 ++-
be/src/olap/base_tablet.cpp | 4 ----
be/src/olap/compaction.cpp | 3 ++-
.../src/main/groovy/org/apache/doris/regression/Config.groovy | 1 +
4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/be/src/cloud/cloud_tablet.cpp b/be/src/cloud/cloud_tablet.cpp
index ea86f3b40ff..c27353be523 100644
--- a/be/src/cloud/cloud_tablet.cpp
+++ b/be/src/cloud/cloud_tablet.cpp
@@ -775,7 +775,8 @@ Status CloudTablet::calc_delete_bitmap_for_compaction(
}
std::unique_ptr<std::map<RowsetSharedPtr, RowLocationPairList>>
location_map;
- if (config::enable_rowid_conversion_correctness_check) {
+ if (config::enable_rowid_conversion_correctness_check &&
+ tablet_schema()->cluster_key_idxes().empty()) {
location_map = std::make_unique<std::map<RowsetSharedPtr,
RowLocationPairList>>();
LOG(INFO) << "Location Map inited succ for tablet:" << tablet_id();
}
diff --git a/be/src/olap/base_tablet.cpp b/be/src/olap/base_tablet.cpp
index a499a27b07f..104dc44ebec 100644
--- a/be/src/olap/base_tablet.cpp
+++ b/be/src/olap/base_tablet.cpp
@@ -1604,10 +1604,6 @@ Status BaseTablet::check_rowid_conversion(
VLOG_DEBUG << "check_rowid_conversion, location_map is empty";
return Status::OK();
}
- if (!tablet_schema()->cluster_key_idxes().empty()) {
- VLOG_DEBUG << "skip check_rowid_conversion for mow tables with cluster
keys";
- return Status::OK();
- }
std::vector<segment_v2::SegmentSharedPtr> dst_segments;
RETURN_IF_ERROR(
diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp
index c85ce36a103..98d7787550d 100644
--- a/be/src/olap/compaction.cpp
+++ b/be/src/olap/compaction.cpp
@@ -965,7 +965,8 @@ Status CompactionMixin::modify_rowsets() {
LOG(INFO) << "RowLocation Set inited succ for tablet:" <<
_tablet->tablet_id();
}
std::unique_ptr<std::map<RowsetSharedPtr, RowLocationPairList>>
location_map;
- if (config::enable_rowid_conversion_correctness_check) {
+ if (config::enable_rowid_conversion_correctness_check &&
+ tablet()->tablet_schema()->cluster_key_idxes().empty()) {
location_map = std::make_unique<std::map<RowsetSharedPtr,
RowLocationPairList>>();
LOG(INFO) << "Location Map inited succ for tablet:" <<
_tablet->tablet_id();
}
diff --git
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
index e08ec604577..aca1596f863 100644
---
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
+++
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
@@ -1031,6 +1031,7 @@ class Config {
excludeDirectorySet.add("schema_change_p0/unique_ck")
List<String> excludeCases = ["test_table_properties",
"test_create_table"
, "test_default_hll", "test_default_pi",
"test_default_bitmap_empty"
+ , "test_full_compaction", "test_full_compaction_by_table_id"
// partial update
, "txn_insert", "test_update_schema_change",
"test_generated_column_update", "test_nested_type_with_rowstore",
"test_partial_update_generated_column",
"nereids_partial_update_native_insert_stmt"
, "partial_update", "nereids_update_on_current_timestamp",
"update_on_current_timestamp", "nereids_delete_mow_partial_update",
"delete_mow_partial_update", "test_unique_table_auto_inc"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]