You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "platoneko (via GitHub)" <gi...@apache.org> on 2024/03/25 11:59:21 UTC
[PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
platoneko opened a new pull request, #32793:
URL: https://github.com/apache/doris/pull/32793
## Proposed changes
Skip tablet dir without schema hash dir in path gc.
Adjusting path gc process for better readability.
## Further comments
If this is a relatively large or complex change, kick off the discussion at [dev@doris.apache.org](mailto:dev@doris.apache.org) by explaining why you chose the solution you did and what alternatives you considered, etc...
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [fix](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2018296339
PR approved by anyone and no changes requested.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on code in PR #32793:
URL: https://github.com/apache/doris/pull/32793#discussion_r1537481321
##########
be/src/olap/data_dir.cpp:
##########
@@ -638,217 +638,205 @@ Status DataDir::load() {
return Status::OK();
}
-void DataDir::perform_path_gc() {
- auto tablet_paths = _perform_path_scan();
- _perform_path_gc_by_tablet(tablet_paths);
- _perform_path_gc_by_rowset(tablet_paths);
-}
+// gc unused local tablet dir
+void DataDir::_perform_tablet_gc(const std::string& tablet_schema_hash_path) {
+ if (_stop_bg_worker) {
+ return;
+ }
-// gc unused tablet schemahash dir
-void DataDir::_perform_path_gc_by_tablet(std::vector<std::string>& tablet_paths) {
- if (_stop_bg_worker || tablet_paths.empty()) {
+ TTabletId tablet_id = -1;
+ TSchemaHash schema_hash = -1;
+ bool is_valid = TabletManager::get_tablet_id_and_schema_hash_from_path(
+ tablet_schema_hash_path, &tablet_id, &schema_hash);
+ if (!is_valid || tablet_id < 1 || schema_hash < 1) [[unlikely]] {
+ LOG(WARNING) << "[path gc] unknown path: " << tablet_schema_hash_path;
return;
}
- LOG(INFO) << "start to path gc by tablet, dir=" << _path;
- // Use double pointer to avoid move elements after erase a element
- auto forward = tablet_paths.begin();
- auto backward = tablet_paths.end();
- int counter = 0;
- do {
- if (config::path_gc_check_step > 0 && counter % config::path_gc_check_step == 0) {
- std::this_thread::sleep_for(
- std::chrono::milliseconds(config::path_gc_check_step_interval_ms));
- }
- auto& path = *forward;
- TTabletId tablet_id = -1;
- TSchemaHash schema_hash = -1;
- bool is_valid = TabletManager::get_tablet_id_and_schema_hash_from_path(path, &tablet_id,
- &schema_hash);
- if (!is_valid || tablet_id < 1 || schema_hash < 1) [[unlikely]] {
- LOG(WARNING) << "unknown path:" << path;
- --backward;
- std::swap(*forward, *backward);
- continue;
- }
- auto tablet = _engine.tablet_manager()->get_tablet(tablet_id);
- if (!tablet || tablet->data_dir() != this) {
- if (tablet) {
- LOG(INFO) << "The tablet in path " << path
- << " is not same with the running one: " << tablet->data_dir()->_path
- << "/" << tablet->tablet_path()
- << ", might be the old tablet after migration, try to move it to trash";
- }
- _engine.tablet_manager()->try_delete_unused_tablet_path(this, tablet_id, schema_hash,
- path);
- --backward;
- std::swap(*forward, *backward);
- continue;
+ auto tablet = _engine.tablet_manager()->get_tablet(tablet_id);
+ if (!tablet || tablet->data_dir() != this) {
+ if (tablet) {
+ LOG(INFO) << "The tablet in path " << tablet_schema_hash_path
+ << " is not same with the running one: " << tablet->data_dir()->_path << "/"
+ << tablet->tablet_path()
+ << ", might be the old tablet after migration, try to move it to trash";
}
- // could find the tablet, then skip check it
- ++forward;
- } while (forward != backward && !_stop_bg_worker);
- tablet_paths.erase(backward, tablet_paths.end());
- LOG(INFO) << "finish path gc by tablet, dir=" << _path;
+ _engine.tablet_manager()->try_delete_unused_tablet_path(this, tablet_id, schema_hash,
+ tablet_schema_hash_path);
+ return;
+ }
+
+ _perform_rowset_gc(tablet_schema_hash_path);
}
-void DataDir::_perform_path_gc_by_rowset(const std::vector<std::string>& tablet_paths) {
- if (_stop_bg_worker || tablet_paths.empty()) {
+// gc unused local rowsets under tablet dir
+void DataDir::_perform_rowset_gc(const std::string& tablet_schema_hash_path) {
Review Comment:
warning: function '_perform_rowset_gc' exceeds recommended size/complexity thresholds [readability-function-size]
```cpp
void DataDir::_perform_rowset_gc(const std::string& tablet_schema_hash_path) {
^
```
<details>
<summary>Additional context</summary>
**be/src/olap/data_dir.cpp:672:** 98 lines including whitespace and comments (threshold 80)
```cpp
void DataDir::_perform_rowset_gc(const std::string& tablet_schema_hash_path) {
^
```
</details>
##########
be/test/olap/path_gc_test.cpp:
##########
@@ -15,7 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-#include <gen_cpp/Types_types.h>
#include <gtest/gtest.h>
Review Comment:
warning: 'gtest/gtest.h' file not found [clang-diagnostic-error]
```cpp
#include <gtest/gtest.h>
^
```
##########
be/src/olap/data_dir.cpp:
##########
@@ -638,217 +638,205 @@
return Status::OK();
}
-void DataDir::perform_path_gc() {
- auto tablet_paths = _perform_path_scan();
- _perform_path_gc_by_tablet(tablet_paths);
- _perform_path_gc_by_rowset(tablet_paths);
-}
+// gc unused local tablet dir
+void DataDir::_perform_tablet_gc(const std::string& tablet_schema_hash_path) {
+ if (_stop_bg_worker) {
+ return;
+ }
-// gc unused tablet schemahash dir
-void DataDir::_perform_path_gc_by_tablet(std::vector<std::string>& tablet_paths) {
- if (_stop_bg_worker || tablet_paths.empty()) {
+ TTabletId tablet_id = -1;
+ TSchemaHash schema_hash = -1;
+ bool is_valid = TabletManager::get_tablet_id_and_schema_hash_from_path(
+ tablet_schema_hash_path, &tablet_id, &schema_hash);
+ if (!is_valid || tablet_id < 1 || schema_hash < 1) [[unlikely]] {
+ LOG(WARNING) << "[path gc] unknown path: " << tablet_schema_hash_path;
return;
}
- LOG(INFO) << "start to path gc by tablet, dir=" << _path;
- // Use double pointer to avoid move elements after erase a element
- auto forward = tablet_paths.begin();
- auto backward = tablet_paths.end();
- int counter = 0;
- do {
- if (config::path_gc_check_step > 0 && counter % config::path_gc_check_step == 0) {
- std::this_thread::sleep_for(
- std::chrono::milliseconds(config::path_gc_check_step_interval_ms));
- }
- auto& path = *forward;
- TTabletId tablet_id = -1;
- TSchemaHash schema_hash = -1;
- bool is_valid = TabletManager::get_tablet_id_and_schema_hash_from_path(path, &tablet_id,
- &schema_hash);
- if (!is_valid || tablet_id < 1 || schema_hash < 1) [[unlikely]] {
- LOG(WARNING) << "unknown path:" << path;
- --backward;
- std::swap(*forward, *backward);
- continue;
- }
- auto tablet = _engine.tablet_manager()->get_tablet(tablet_id);
- if (!tablet || tablet->data_dir() != this) {
- if (tablet) {
- LOG(INFO) << "The tablet in path " << path
- << " is not same with the running one: " << tablet->data_dir()->_path
- << "/" << tablet->tablet_path()
- << ", might be the old tablet after migration, try to move it to trash";
- }
- _engine.tablet_manager()->try_delete_unused_tablet_path(this, tablet_id, schema_hash,
- path);
- --backward;
- std::swap(*forward, *backward);
- continue;
+ auto tablet = _engine.tablet_manager()->get_tablet(tablet_id);
+ if (!tablet || tablet->data_dir() != this) {
+ if (tablet) {
+ LOG(INFO) << "The tablet in path " << tablet_schema_hash_path
+ << " is not same with the running one: " << tablet->data_dir()->_path << "/"
+ << tablet->tablet_path()
+ << ", might be the old tablet after migration, try to move it to trash";
}
- // could find the tablet, then skip check it
- ++forward;
- } while (forward != backward && !_stop_bg_worker);
- tablet_paths.erase(backward, tablet_paths.end());
- LOG(INFO) << "finish path gc by tablet, dir=" << _path;
+ _engine.tablet_manager()->try_delete_unused_tablet_path(this, tablet_id, schema_hash,
+ tablet_schema_hash_path);
+ return;
+ }
+
+ _perform_rowset_gc(tablet_schema_hash_path);
}
-void DataDir::_perform_path_gc_by_rowset(const std::vector<std::string>& tablet_paths) {
- if (_stop_bg_worker || tablet_paths.empty()) {
+// gc unused local rowsets under tablet dir
+void DataDir::_perform_rowset_gc(const std::string& tablet_schema_hash_path) {
+ if (_stop_bg_worker) {
return;
}
- LOG(INFO) << "start to path gc by rowset";
- int counter = 0;
- for (const auto& path : tablet_paths) {
- if (_stop_bg_worker) {
- break;
- }
+ TTabletId tablet_id = -1;
+ TSchemaHash schema_hash = -1;
+ bool is_valid = doris::TabletManager::get_tablet_id_and_schema_hash_from_path(
+ tablet_schema_hash_path, &tablet_id, &schema_hash);
+ if (!is_valid || tablet_id < 1 || schema_hash < 1) [[unlikely]] {
+ LOG(WARNING) << "[path gc] unknown path: " << tablet_schema_hash_path;
+ return;
+ }
- ++counter;
- if (config::path_gc_check_step > 0 && counter % config::path_gc_check_step == 0) {
- std::this_thread::sleep_for(
- std::chrono::milliseconds(config::path_gc_check_step_interval_ms));
- }
- TTabletId tablet_id = -1;
- TSchemaHash schema_hash = -1;
- bool is_valid = doris::TabletManager::get_tablet_id_and_schema_hash_from_path(
- path, &tablet_id, &schema_hash);
- if (!is_valid || tablet_id < 1 || schema_hash < 1) [[unlikely]] {
- LOG(WARNING) << "[path gc] unknown path:" << path;
- continue;
- }
+ auto tablet = _engine.tablet_manager()->get_tablet(tablet_id);
+ if (!tablet) {
+ // Could not found the tablet, maybe it's a dropped tablet, will be reclaimed
+ // in the next time `_perform_path_gc_by_tablet`
+ return;
+ }
- auto tablet = _engine.tablet_manager()->get_tablet(tablet_id);
- if (!tablet) {
- // Could not found the tablet, maybe it's a dropped tablet, will be reclaimed
- // in the next time `_perform_path_gc_by_tablet`
- continue;
- }
+ if (tablet->data_dir() != this) {
+ // Current running tablet is not in same data_dir, maybe it's a tablet after migration,
+ // will be reclaimed in the next time `_perform_path_gc_by_tablet`
+ return;
+ }
- if (tablet->data_dir() != this) {
- // Current running tablet is not in same data_dir, maybe it's a tablet after migration,
- // will be reclaimed in the next time `_perform_path_gc_by_tablet`
- continue;
+ bool exists;
+ std::vector<io::FileInfo> files;
+ auto st = io::global_local_filesystem()->list(tablet_schema_hash_path, true, &files, &exists);
+ if (!st.ok()) [[unlikely]] {
+ LOG(WARNING) << "[path gc] fail to list tablet path " << tablet_schema_hash_path << " : "
+ << st;
+ return;
+ }
+
+ // Rowset files excluding pending rowsets
+ std::vector<std::pair<RowsetId, std::string /* filename */>> rowsets_not_pending;
+ for (auto&& file : files) {
+ auto rowset_id = extract_rowset_id(file.file_name);
+ if (rowset_id.hi == 0) {
+ continue; // Not a rowset
}
- bool exists;
- std::vector<io::FileInfo> files;
- auto st = io::global_local_filesystem()->list(path, true, &files, &exists);
- if (!st.ok()) [[unlikely]] {
- LOG(WARNING) << "[path gc] fail to list tablet path " << path << " : " << st;
- continue;
+ if (_engine.pending_local_rowsets().contains(rowset_id)) {
+ continue; // Pending rowset file
}
- // Rowset files excluding pending rowsets
- std::vector<std::pair<RowsetId, std::string /* filename */>> rowsets_not_pending;
- for (auto&& file : files) {
- auto rowset_id = extract_rowset_id(file.file_name);
- if (rowset_id.hi == 0) {
- continue; // Not a rowset
- }
+ rowsets_not_pending.emplace_back(rowset_id, std::move(file.file_name));
+ }
- if (_engine.pending_local_rowsets().contains(rowset_id)) {
- continue; // Pending rowset file
- }
+ RowsetIdUnorderedSet rowsets_in_version_map;
+ tablet->traverse_rowsets(
+ [&rowsets_in_version_map](auto& rs) { rowsets_in_version_map.insert(rs->rowset_id()); },
+ true);
- rowsets_not_pending.emplace_back(rowset_id, std::move(file.file_name));
+ auto reclaim_rowset_file = [](const std::string& path) {
+ auto st = io::global_local_filesystem()->delete_file(path);
+ if (!st.ok()) [[unlikely]] {
+ LOG(WARNING) << "[path gc] failed to delete garbage rowset file: " << st;
+ return;
}
+ LOG(INFO) << "[path gc] delete garbage path: " << path; // Audit log
+ };
- RowsetIdUnorderedSet rowsets_in_version_map;
- tablet->traverse_rowsets(
- [&rowsets_in_version_map](auto& rs) {
- rowsets_in_version_map.insert(rs->rowset_id());
- },
- true);
+ auto should_reclaim = [&, this](const RowsetId& rowset_id) {
+ return !rowsets_in_version_map.contains(rowset_id) &&
+ !_engine.check_rowset_id_in_unused_rowsets(rowset_id) &&
+ RowsetMetaManager::exists(get_meta(), tablet->tablet_uid(), rowset_id)
+ .is<META_KEY_NOT_FOUND>();
+ };
- auto reclaim_rowset_file = [](const std::string& path) {
- auto st = io::global_local_filesystem()->delete_file(path);
- if (!st.ok()) [[unlikely]] {
- LOG(WARNING) << "[path gc] failed to delete garbage rowset file: " << st;
- return;
- }
- LOG(INFO) << "[path gc] delete garbage path: " << path; // Audit log
- };
-
- auto should_reclaim = [&, this](const RowsetId& rowset_id) {
- return !rowsets_in_version_map.contains(rowset_id) &&
- !_engine.check_rowset_id_in_unused_rowsets(rowset_id) &&
- RowsetMetaManager::exists(get_meta(), tablet->tablet_uid(), rowset_id)
- .is<META_KEY_NOT_FOUND>();
- };
-
- // rowset_id -> is_garbage
- std::unordered_map<RowsetId, bool> checked_rowsets;
- for (auto&& [rowset_id, filename] : rowsets_not_pending) {
- if (auto it = checked_rowsets.find(rowset_id); it != checked_rowsets.end()) {
- if (it->second) { // Is checked garbage rowset
- reclaim_rowset_file(path + '/' + filename);
- }
- continue;
+ // rowset_id -> is_garbage
+ std::unordered_map<RowsetId, bool> checked_rowsets;
+ for (auto&& [rowset_id, filename] : rowsets_not_pending) {
+ if (_stop_bg_worker) {
+ return;
+ }
+
+ if (auto it = checked_rowsets.find(rowset_id); it != checked_rowsets.end()) {
+ if (it->second) { // Is checked garbage rowset
+ reclaim_rowset_file(tablet_schema_hash_path + '/' + filename);
}
+ continue;
+ }
- if (should_reclaim(rowset_id)) {
- reclaim_rowset_file(path + '/' + filename);
- checked_rowsets.emplace(rowset_id, true);
- } else {
- checked_rowsets.emplace(rowset_id, false);
+ if (should_reclaim(rowset_id)) {
+ if (config::path_gc_check_step > 0 &&
+ ++_path_gc_step % config::path_gc_check_step == 0) {
+ std::this_thread::sleep_for(
+ std::chrono::milliseconds(config::path_gc_check_step_interval_ms));
}
+ reclaim_rowset_file(tablet_schema_hash_path + '/' + filename);
+ checked_rowsets.emplace(rowset_id, true);
+ } else {
+ checked_rowsets.emplace(rowset_id, false);
}
}
- LOG(INFO) << "finish path gc by rowset.";
}
-// path producer
-std::vector<std::string> DataDir::_perform_path_scan() {
- std::vector<std::string> tablet_paths;
- if (_stop_bg_worker) return tablet_paths;
- LOG(INFO) << "start to scan data dir " << _path;
+void DataDir::perform_path_gc() {
Review Comment:
warning: method 'perform_path_gc' can be made static [readability-convert-member-functions-to-static]
be/src/olap/data_dir.h:108:
```diff
- void perform_path_gc();
+ static void perform_path_gc();
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "platoneko (via GitHub)" <gi...@apache.org>.
platoneko commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2017860170
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2017981861
<details>
<summary>TPC-DS: <b>Total hot run time: 181567 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 6f722c579bbac208158f15c415493dc4d3505876, data reload: false
query1 944 371 344 344
query2 6566 1932 1996 1932
query3 6706 210 211 210
query4 31818 21499 21236 21236
query5 4345 407 391 391
query6 268 175 173 173
query7 4627 298 289 289
query8 235 172 172 172
query9 9274 2234 2270 2234
query10 570 253 253 253
query11 15331 14372 14290 14290
query12 136 95 88 88
query13 1635 433 409 409
query14 11268 7995 7499 7499
query15 266 199 199 199
query16 7920 259 259 259
query17 1983 589 553 553
query18 1358 285 289 285
query19 349 155 155 155
query20 91 93 88 88
query21 203 131 129 129
query22 5101 4920 4992 4920
query23 33646 33002 33017 33002
query24 10630 2887 2864 2864
query25 595 380 368 368
query26 1175 153 152 152
query27 2804 347 352 347
query28 7308 1831 1846 1831
query29 860 605 589 589
query30 297 154 148 148
query31 958 751 737 737
query32 96 55 52 52
query33 761 254 239 239
query34 1062 481 479 479
query35 838 617 612 612
query36 1015 862 874 862
query37 132 65 65 65
query38 3554 3435 3372 3372
query39 1473 1408 1437 1408
query40 206 111 117 111
query41 50 44 43 43
query42 110 93 95 93
query43 485 437 444 437
query44 1150 735 712 712
query45 282 266 254 254
query46 1110 693 701 693
query47 1927 1857 1860 1857
query48 446 352 353 352
query49 1095 340 324 324
query50 756 366 361 361
query51 6744 6625 6534 6534
query52 105 91 88 88
query53 351 275 275 275
query54 292 230 222 222
query55 81 79 82 79
query56 256 223 218 218
query57 1223 1138 1144 1138
query58 235 216 203 203
query59 2688 2497 2544 2497
query60 265 245 247 245
query61 116 112 106 106
query62 643 450 440 440
query63 305 270 275 270
query64 5617 3838 3962 3838
query65 3052 3013 3014 3013
query66 889 366 362 362
query67 15146 14788 15046 14788
query68 5247 517 511 511
query69 569 362 374 362
query70 1150 1149 1205 1149
query71 411 265 265 265
query72 6200 2737 2684 2684
query73 716 317 311 311
query74 7660 6334 6390 6334
query75 2989 2226 2214 2214
query76 3578 911 868 868
query77 397 286 267 267
query78 10870 10302 10231 10231
query79 6214 518 521 518
query80 1217 397 386 386
query81 533 217 217 217
query82 948 92 83 83
query83 216 162 158 158
query84 299 84 90 84
query85 1549 377 370 370
query86 471 303 294 294
query87 3647 3507 3557 3507
query88 4980 2357 2362 2357
query89 477 381 372 372
query90 1997 180 180 180
query91 180 147 146 146
query92 62 49 49 49
query93 4905 489 474 474
query94 1184 188 182 182
query95 438 346 331 331
query96 606 283 275 275
query97 2652 2455 2488 2455
query98 231 221 219 219
query99 1187 980 926 926
Total cold run time: 297603 ms
Total hot run time: 181567 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2017987872
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
```
Load test result on commit 6f722c579bbac208158f15c415493dc4d3505876 with default session variables
Stream load json: 19 seconds loaded 2358488459 Bytes, about 118 MB/s
Stream load orc: 59 seconds loaded 1101869774 Bytes, about 17 MB/s
Stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
Insert into select: 20.9 seconds inserted 10000000 Rows, about 478K ops/s
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2017956233
<details>
<summary>TPC-H: <b>Total hot run time: 38154 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 6f722c579bbac208158f15c415493dc4d3505876, data reload: false
------ Round 1 ----------------------------------
q1 17638 4370 4179 4179
q2 2109 154 152 152
q3 10585 1117 1198 1117
q4 10242 798 850 798
q5 7471 3038 3015 3015
q6 204 123 121 121
q7 1044 569 558 558
q8 9335 1997 1964 1964
q9 7242 6655 6613 6613
q10 8437 3520 3578 3520
q11 434 227 214 214
q12 408 200 190 190
q13 17794 2862 2879 2862
q14 256 195 214 195
q15 516 478 464 464
q16 513 368 370 368
q17 957 639 567 567
q18 7141 6470 6399 6399
q19 1911 1438 1492 1438
q20 549 260 258 258
q21 3542 2878 2872 2872
q22 346 294 290 290
Total cold run time: 108674 ms
Total hot run time: 38154 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4127 4110 4074 4074
q2 319 227 221 221
q3 2962 2817 2800 2800
q4 1843 1537 1524 1524
q5 5292 5354 5320 5320
q6 199 116 116 116
q7 2237 1880 1865 1865
q8 3159 3308 3296 3296
q9 8688 8682 8663 8663
q10 3797 3806 3762 3762
q11 560 460 443 443
q12 736 559 584 559
q13 16891 2869 2835 2835
q14 271 250 251 250
q15 496 450 450 450
q16 487 439 414 414
q17 1732 1508 1455 1455
q18 7520 7228 7215 7215
q19 1658 1527 1531 1527
q20 1907 1736 1725 1725
q21 4942 4726 4734 4726
q22 530 462 434 434
Total cold run time: 70353 ms
Total hot run time: 53674 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [fix](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "dataroaring (via GitHub)" <gi...@apache.org>.
dataroaring merged PR #32793:
URL: https://github.com/apache/doris/pull/32793
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2017935155
TeamCity be ut coverage result:
Function Coverage: 35.26% (8732/24768)
Line Coverage: 27.05% (71494/264315)
Region Coverage: 26.28% (37087/141114)
Branch Coverage: 23.18% (18965/81826)
Coverage Report: http://coverage.selectdb-in.cc/coverage/6f722c579bbac208158f15c415493dc4d3505876_6f722c579bbac208158f15c415493dc4d3505876/report/index.html
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [fix](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2018296257
PR approved by at least one committer and no changes requested.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [enhance](gc) Skip tablet dir without schema hash dir in path gc [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #32793:
URL: https://github.com/apache/doris/pull/32793#issuecomment-2017844359
Thank you for your contribution to Apache Doris.
Don't know what should be done next? See [How to process your PR](https://cwiki.apache.org/confluence/display/DORIS/How+to+process+your+PR)
Since 2024-03-18, the Document has been moved to [doris-website](https://github.com/apache/doris-website).
See [Doris Document](https://cwiki.apache.org/confluence/display/DORIS/Doris+Document).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org