This is an automated email from the ASF dual-hosted git repository.
lijibing 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 d1d2a786df0 [improvement](statistics)Support cloud version set row
count to -1 when not reported. (#41015) (#41924)
d1d2a786df0 is described below
commit d1d2a786df00f95b8df404bada8938942167a40c
Author: Jibing-Li <[email protected]>
AuthorDate: Wed Oct 16 15:23:12 2024 +0800
[improvement](statistics)Support cloud version set row count to -1 when not
reported. (#41015) (#41924)
backport: https://github.com/apache/doris/pull/41015
---
.../transaction/CloudGlobalTransactionMgr.java | 4 +
.../suites/statistics/test_analyze_mv.groovy | 122 ++++++++++-----------
2 files changed, 62 insertions(+), 64 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
index 748642272cf..952d349714b 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
@@ -390,6 +390,10 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
if (partition == null) {
continue;
}
+ if (version == 2) {
+
partition.getMaterializedIndices(MaterializedIndex.IndexExtState.ALL)
+ .stream().forEach(i -> i.setRowCountReported(false));
+ }
partition.setCachedVisibleVersion(version,
commitTxnResponse.getVersionUpdateTimeMs());
LOG.info("Update Partition. transactionId:{}, table_id:{},
partition_id:{}, version:{}, update time:{}",
txnId, tableId, partition.getId(), version,
commitTxnResponse.getVersionUpdateTimeMs());
diff --git a/regression-test/suites/statistics/test_analyze_mv.groovy
b/regression-test/suites/statistics/test_analyze_mv.groovy
index 125c7bce806..77eb65789cd 100644
--- a/regression-test/suites/statistics/test_analyze_mv.groovy
+++ b/regression-test/suites/statistics/test_analyze_mv.groovy
@@ -129,15 +129,13 @@ suite("test_analyze_mv") {
)
"""
def result_row
- if (!isCloudMode()) {
- // Test row count report and report for nereids
- result_row = sql """show index stats mvTestDup mvTestDup"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mvTestDup", result_row[0][1])
- assertEquals("0", result_row[0][3])
- assertEquals("-1", result_row[0][4])
- }
+ // Test row count report and report for nereids
+ result_row = sql """show index stats mvTestDup mvTestDup"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mvTestDup", result_row[0][1])
+ assertEquals("0", result_row[0][3])
+ assertEquals("-1", result_row[0][4])
createMV("create materialized view mv1 as select key1 from mvTestDup;")
createMV("create materialized view mv2 as select key2 from mvTestDup;")
@@ -500,33 +498,31 @@ suite("test_analyze_mv") {
return;
}
- if (!isCloudMode()) {
- // Test row count report and report for nereids
- result_row = sql """show index stats mvTestDup mvTestDup"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mvTestDup", result_row[0][1])
- assertEquals("6", result_row[0][3])
- assertEquals("6", result_row[0][4])
- result_row = sql """show index stats mvTestDup mv1"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mv1", result_row[0][1])
- assertEquals("6", result_row[0][3])
- assertEquals("6", result_row[0][4])
- result_row = sql """show index stats mvTestDup mv2"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mv2", result_row[0][1])
- assertEquals("6", result_row[0][3])
- assertEquals("6", result_row[0][4])
- result_row = sql """show index stats mvTestDup mv3"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mv3", result_row[0][1])
- assertEquals("4", result_row[0][3])
- assertEquals("4", result_row[0][4])
- }
+ // Test row count report and report for nereids
+ result_row = sql """show index stats mvTestDup mvTestDup"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mvTestDup", result_row[0][1])
+ assertEquals("6", result_row[0][3])
+ assertEquals("6", result_row[0][4])
+ result_row = sql """show index stats mvTestDup mv1"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mv1", result_row[0][1])
+ assertEquals("6", result_row[0][3])
+ assertEquals("6", result_row[0][4])
+ result_row = sql """show index stats mvTestDup mv2"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mv2", result_row[0][1])
+ assertEquals("6", result_row[0][3])
+ assertEquals("6", result_row[0][4])
+ result_row = sql """show index stats mvTestDup mv3"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mv3", result_row[0][1])
+ assertEquals("4", result_row[0][3])
+ assertEquals("4", result_row[0][4])
sql """analyze table mvTestDup with sample rows 4000000"""
wait_analyze_finish("mvTestDup")
@@ -675,37 +671,35 @@ suite("test_analyze_mv") {
verifyTaskStatus(result_sample, "mva_MIN__`value3`", "mv3")
verifyTaskStatus(result_sample, "mva_SUM__CAST(`value1` AS bigint)", "mv3")
- if (!isCloudMode()) {
- // Test row count report and report for nereids
- sql """truncate table mvTestDup"""
+ // Test row count report and report for nereids
+ sql """truncate table mvTestDup"""
+ result_row = sql """show index stats mvTestDup mv3"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mv3", result_row[0][1])
+ assertEquals("0", result_row[0][3])
+ assertEquals("-1", result_row[0][4])
+
+ for (int i = 0; i < 120; i++) {
result_row = sql """show index stats mvTestDup mv3"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mv3", result_row[0][1])
- assertEquals("0", result_row[0][3])
- assertEquals("-1", result_row[0][4])
-
- for (int i = 0; i < 120; i++) {
- result_row = sql """show index stats mvTestDup mv3"""
- logger.info("mv3 stats: " + result_row)
- if (result_row[0][4] == "0") {
- break;
- }
- Thread.sleep(5000)
+ logger.info("mv3 stats: " + result_row)
+ if (result_row[0][4] == "0") {
+ break;
}
- result_row = sql """show index stats mvTestDup mv3"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mv3", result_row[0][1])
- assertEquals("0", result_row[0][3])
- assertEquals("0", result_row[0][4])
- sql """insert into mvTestDup values (1, 2, 3, 4, 5), (1, 2, 3, 4, 5),
(10, 20, 30, 40, 50), (10, 20, 30, 40, 50), (100, 200, 300, 400, 500), (1001,
2001, 3001, 4001, 5001);"""
- result_row = sql """show index stats mvTestDup mv3"""
- assertEquals(1, result_row.size())
- assertEquals("mvTestDup", result_row[0][0])
- assertEquals("mv3", result_row[0][1])
- assertEquals("-1", result_row[0][4])
+ Thread.sleep(5000)
}
+ result_row = sql """show index stats mvTestDup mv3"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mv3", result_row[0][1])
+ assertEquals("0", result_row[0][3])
+ assertEquals("0", result_row[0][4])
+ sql """insert into mvTestDup values (1, 2, 3, 4, 5), (1, 2, 3, 4, 5), (10,
20, 30, 40, 50), (10, 20, 30, 40, 50), (100, 200, 300, 400, 500), (1001, 2001,
3001, 4001, 5001);"""
+ result_row = sql """show index stats mvTestDup mv3"""
+ assertEquals(1, result_row.size())
+ assertEquals("mvTestDup", result_row[0][0])
+ assertEquals("mv3", result_row[0][1])
+ assertEquals("-1", result_row[0][4])
// Test alter column stats
sql """drop stats mvTestDup"""
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]