-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[improvement](compaction) be do not compact invisible version to avoid query error -230 #28082
Conversation
run buildall |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
@@ -20,6 +20,7 @@ | |||
#include <gen_cpp/Types_types.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: 'gen_cpp/Types_types.h' file not found [clang-diagnostic-error]
#include <gen_cpp/Types_types.h>
^
run buildall |
run buildall |
(From new machine)TeamCity pipeline, clickbench performance test result: |
TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
run buildall |
TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
344f627
to
13ab608
Compare
TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
run buildall |
TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
run buildall |
1 similar comment
run buildall |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
@@ -721,6 +721,16 @@ Version TabletMeta::max_version() const { | |||
return max_version; | |||
} | |||
|
|||
size_t TabletMeta::version_count_cross_with_range(const Version& range) const { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: method 'version_count_cross_with_range' can be made static [readability-convert-member-functions-to-static]
size_t TabletMeta::version_count_cross_with_range(const Version& range) const { | |
size_t TabletMeta::version_count_cross_with_range(const Version& range) { |
be/src/olap/tablet_meta.h:165:
- size_t version_count_cross_with_range(const Version& range) const;
+ static size_t version_count_cross_with_range(const Version& range) ;
TeamCity be ut coverage result: |
(From new machine)TeamCity pipeline, clickbench performance test result: |
TPC-H: Total hot run time: 38580 ms
|
TPC-DS: Total hot run time: 183392 ms
|
run buildall |
TPC-H: Total hot run time: 39165 ms
|
TPC-DS: Total hot run time: 185899 ms
|
ClickBench: Total hot run time: 30.13 s
|
TeamCity be ut coverage result: |
run p0 |
2 similar comments
run p0 |
run p0 |
run buildall |
run feut |
TeamCity be ut coverage result: |
run external |
fe/fe-core/src/main/java/org/apache/doris/common/proc/ReplicasProcNode.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/common/proc/TabletsProcDir.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java
Show resolved
Hide resolved
run buildall |
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 187078 ms
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@@ -511,4 +513,23 @@ struct RidAndPos { | |||
|
|||
using PartialUpdateReadPlan = std::map<RowsetId, std::map<uint32_t, std::vector<RidAndPos>>>; | |||
|
|||
// used for controll compaction |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
control
continue; | ||
} | ||
|
||
// can compact, met one of the conditions: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meet?
@@ -107,7 +107,7 @@ private static List<List<String>> getTabletStatus(String dbName, String tblName, | |||
row.add(String.valueOf(replica.getLastSuccessVersion())); | |||
row.add(String.valueOf(visibleVersion)); | |||
row.add(String.valueOf(replica.getSchemaHash())); | |||
row.add(String.valueOf(replica.getVersionCount())); | |||
row.add(String.valueOf(replica.getTotalVersionCount())); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
visible version count 不用加么?
Problem:
When execute a sql query, FE will send a request to BE. The request contains tablets and their partitions' visible versions. BE need to obtains the tablet's rowsets in range [0, visible version]. But sometimes BE may had compacted visible version rowset with large version rowsets, so it can not return rowsets just in range [0, visible version]. Then BE will return error VERSION_ALREADY_MERGED -230.
Fix:
Proposed changes
Issue Number: close #xxx
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...