This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new e3cae82df99 branch-3.0: [enhancement](tablet-meta) Avoid be coredump
due to potential race condition when updating tablet cumu point #45643 (#45785)
e3cae82df99 is described below
commit e3cae82df99318215c483c5b8b9945aebf74a2d2
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Dec 25 09:46:36 2024 +0800
branch-3.0: [enhancement](tablet-meta) Avoid be coredump due to potential
race condition when updating tablet cumu point #45643 (#45785)
Cherry-picked from #45643
Co-authored-by: Siyang Tang <[email protected]>
---
be/src/cloud/cloud_tablet.cpp | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/be/src/cloud/cloud_tablet.cpp b/be/src/cloud/cloud_tablet.cpp
index 76cb9042af4..1bc0a29e5ab 100644
--- a/be/src/cloud/cloud_tablet.cpp
+++ b/be/src/cloud/cloud_tablet.cpp
@@ -33,6 +33,7 @@
#include "cloud/cloud_meta_mgr.h"
#include "cloud/cloud_storage_engine.h"
#include "cloud/cloud_tablet_mgr.h"
+#include "common/logging.h"
#include "io/cache/block_file_cache_downloader.h"
#include "io/cache/block_file_cache_factory.h"
#include "olap/cumulative_compaction_time_series_policy.h"
@@ -657,11 +658,14 @@ void CloudTablet::get_compaction_status(std::string*
json_result) {
}
void CloudTablet::set_cumulative_layer_point(int64_t new_point) {
+ if (new_point == Tablet::K_INVALID_CUMULATIVE_POINT || new_point >=
_cumulative_point) {
+ _cumulative_point = new_point;
+ return;
+ }
// cumulative point should only be reset to -1, or be increased
- CHECK(new_point == Tablet::K_INVALID_CUMULATIVE_POINT || new_point >=
_cumulative_point)
- << "Unexpected cumulative point: " << new_point
- << ", origin: " << _cumulative_point.load();
- _cumulative_point = new_point;
+ // FIXME: could happen in currently unresolved race conditions
+ LOG(WARNING) << "Unexpected cumulative point: " << new_point
+ << ", origin: " << _cumulative_point.load();
}
std::vector<RowsetSharedPtr>
CloudTablet::pick_candidate_rowsets_to_base_compaction() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]