Commit c74a21c
authored
[fix](mv) Fix sync mv could not be chosen by cbo stable because stats upload from be not in time (#58720)
This PR introduces two key modifications to improve the reliability of
the optimizer (CBO) and the testing pipeline concerning materialized
views:
1. Fixes unstable selection of synchronous materialized views in the
pipeline: The root cause was that the statistical information of the
base table was not reported promptly. This delay could lead the CBO to
estimate selectedPartitionsRowCountas zero for the materialized view,
causing it to be incorrectly bypassed during query planning. The fix
involves manually injecting the statistical information for the
synchronous materialized view when available, ensuring the CBO can make
a stable and accurate assessment of its cost .
2. Removes the fuzzy value setting for
preMaterializedViewRewriteStrategyin SessionVariable: The test cases
for the TRY_IN_RBO strategy have already been extended to cover
scenarios equivalent to both NOT_IN_RBO and FORCE_IN_RBO. Retaining the
fuzzy option can introduce unnecessary instability into the pipeline.
For instance, a PR might pass tests when the strategy is TRY_IN_RBO but
fail if the pipeline randomly selects NOT_IN_RBO, leading to
inconsistent results. Removing this fuzzy setting helps eliminate such
non-deterministic failures and enhances pipeline stability1 parent ebec0f2 commit c74a21c
File tree
10 files changed
+22
-16
lines changed- fe/fe-core/src/main/java/org/apache/doris
- nereids/stats
- qe
- regression-test/suites/mv_p0/ssb
- multiple_no_where
- multiple_ssb_between
- multiple_ssb
- q_1_1
- q_2_1
- q_3_1
- q_4_1_r1
- q_4_1
10 files changed
+22
-16
lines changedLines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
546 | 552 | | |
547 | 553 | | |
548 | 554 | | |
| |||
Lines changed: 0 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | 35 | | |
37 | 36 | | |
38 | 37 | | |
| |||
3301 | 3300 | | |
3302 | 3301 | | |
3303 | 3302 | | |
3304 | | - | |
3305 | | - | |
3306 | | - | |
3307 | | - | |
3308 | | - | |
3309 | | - | |
3310 | | - | |
3311 | | - | |
3312 | | - | |
3313 | | - | |
3314 | | - | |
3315 | | - | |
3316 | | - | |
3317 | | - | |
3318 | 3303 | | |
3319 | 3304 | | |
3320 | 3305 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
110 | 112 | | |
111 | 113 | | |
112 | 114 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
157 | 161 | | |
158 | 162 | | |
159 | 163 | | |
| |||
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
156 | | - | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
157 | 161 | | |
158 | 162 | | |
159 | 163 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
105 | 106 | | |
106 | 107 | | |
107 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| 102 | + | |
102 | 103 | | |
103 | 104 | | |
104 | 105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
| 96 | + | |
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| 99 | + | |
99 | 100 | | |
100 | 101 | | |
101 | 102 | | |
| |||
0 commit comments