[GitHub] [doris] github-actions[bot] commented on pull request #16742: [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction
github-actions[bot] commented on PR #16742: URL: https://github.com/apache/doris/pull/16742#issuecomment-1429287902 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16742: [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction
github-actions[bot] commented on PR #16742: URL: https://github.com/apache/doris/pull/16742#issuecomment-1429287784 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] wangbo commented on a diff in pull request #16459: [fix](planner)Fix colocate query failed
wangbo commented on code in PR #16459: URL: https://github.com/apache/doris/pull/16459#discussion_r1105427246 ## fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java: ## @@ -321,6 +321,10 @@ public void useBaseIndexId() { this.selectedIndexId = olapTable.getBaseIndexId(); } +public long getSelectedIndexId() { Review Comment: ```getSelectedIndexId``` only exists in ```OlapScanNode```. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] xiaojunjie opened a new issue, #16747: [Bug] There is a problem with NamedExpressionUtil.newExprId when trace enable
xiaojunjie opened a new issue, #16747: URL: https://github.com/apache/doris/issues/16747 ### Search before asking - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Version master ### What's Wrong? ``` public class NamedExpressionUtil { private static StatementContext statementContext = new StatementContext(); public static ExprId newExprId() { if (ConnectContext.get() == null || ConnectContext.get().getStatementContext() == null) { return statementContext.getNextExprId(); } return ConnectContext.get().getStatementContext().getNextExprId(); } } ``` After the rule BindRelation is executed, trace will print the generated logicalOlapScan in the metric worker thread with null connectContext, where the new ExprIds for slots may be generated by the generator of static statementContext before the rule BindSlotReference executed. ### What You Expected? generate ExprId from 0 for each statement when trace enable ### How to Reproduce? _No response_ ### Anything Else? _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] BiteTheDDDDt opened a new pull request, #16748: [Chore](build) enable fallthrough check annd fix some fallthrough bug
BiteThet opened a new pull request, #16748: URL: https://github.com/apache/doris/pull/16748 # Proposed changes 1. enable fallthrough check 2. fix some fallthrough bug 3. remove or modify some unused code ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[doris] branch master updated (4a6fd7cc30 -> ea78184551)
This is an automated email from the ASF dual-hosted git repository. lihaopeng pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/doris.git from 4a6fd7cc30 [feature](docker) Add Docker BE computer node Interface (#16630) add ea78184551 [Feature](Materialized-View) support multiple slot on one column in materialized view (#16378) No new revisions were added by this update. Summary of changes: be/src/olap/tablet_schema.cpp | 2 + be/src/olap/tablet_schema.h| 12 ++ be/src/vec/exec/scan/new_olap_scanner.cpp | 9 +- .../doris/alter/MaterializedViewHandler.java | 7 +- .../java/org/apache/doris/alter/RollupJobV2.java | 19 ++- .../java/org/apache/doris/analysis/Analyzer.java | 4 +- .../doris/analysis/CreateMaterializedViewStmt.java | 18 +- .../main/java/org/apache/doris/analysis/Expr.java | 43 ++--- .../apache/doris/analysis/ExprSubstitutionMap.java | 10 ++ .../java/org/apache/doris/analysis/InsertStmt.java | 39 +++-- .../org/apache/doris/analysis/LiteralExpr.java | 2 +- .../org/apache/doris/analysis/MVColumnItem.java| 8 +- .../org/apache/doris/analysis/PlaceHolderExpr.java | 3 + .../java/org/apache/doris/analysis/QueryStmt.java | 31 +++- .../java/org/apache/doris/analysis/SelectStmt.java | 68 ++-- .../java/org/apache/doris/analysis/SlotRef.java| 68 +++- .../main/java/org/apache/doris/catalog/Column.java | 8 +- .../main/java/org/apache/doris/catalog/Env.java| 28 ++- .../doris/planner/MaterializedViewSelector.java| 161 +++--- .../org/apache/doris/planner/OlapScanNode.java | 4 +- .../apache/doris/planner/SingleNodePlanner.java| 41 +++-- .../org/apache/doris/rewrite/ExprRewriter.java | 11 ++ .../doris/rewrite/mvrewrite/CountFieldToSum.java | 74 +--- .../doris/rewrite/mvrewrite/ExprToSlotRefRule.java | 188 +++-- .../doris/rewrite/mvrewrite/MVExprEquivalent.java | 23 ++- .../doris/alter/MaterializedViewHandlerTest.java | 4 +- .../analysis/CreateMaterializedViewStmtTest.java | 41 +++-- .../planner/MaterializedViewFunctionTest.java | 3 +- .../planner/MaterializedViewSelectorTest.java | 180 +--- .../rewrite/mvrewrite/CountFieldToSumTest.java | 69 .../multi_slot_k123p/multi_slot_k123p.out | 13 ++ .../multi_slot_k1a2p2ap3p.out | 13 ++ .../multi_slot_k1a2p2ap3ps.out | 12 ++ .../multi_slot_k1p2ap3p/multi_slot_k1p2ap3p.out| 13 ++ .../multi_slot_k1p2ap3ps/multi_slot_k1p2ap3ps.out | 13 ++ .../multi_slot_multi_mv/multi_slot_multi_mv.out| 18 ++ .../multi_slot_k123p/multi_slot_k123p.groovy | 60 +++ .../multi_slot_k1a2p2ap3p.groovy | 60 +++ .../multi_slot_k1a2p2ap3ps.groovy | 60 +++ .../multi_slot_k1p2ap3p/multi_slot_k1p2ap3p.groovy | 60 +++ .../multi_slot_k1p2ap3ps.groovy| 60 +++ .../multi_slot_multi_mv/multi_slot_multi_mv.groovy | 78 + .../rollup_p0/test_materialized_view_array.groovy | 2 +- 43 files changed, 1010 insertions(+), 630 deletions(-) delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/rewrite/mvrewrite/CountFieldToSumTest.java create mode 100644 regression-test/data/materialized_view_p0/multi_slot_k123p/multi_slot_k123p.out create mode 100644 regression-test/data/materialized_view_p0/multi_slot_k1a2p2ap3p/multi_slot_k1a2p2ap3p.out create mode 100644 regression-test/data/materialized_view_p0/multi_slot_k1a2p2ap3ps/multi_slot_k1a2p2ap3ps.out create mode 100644 regression-test/data/materialized_view_p0/multi_slot_k1p2ap3p/multi_slot_k1p2ap3p.out create mode 100644 regression-test/data/materialized_view_p0/multi_slot_k1p2ap3ps/multi_slot_k1p2ap3ps.out create mode 100644 regression-test/data/materialized_view_p0/multi_slot_multi_mv/multi_slot_multi_mv.out create mode 100644 regression-test/suites/materialized_view_p0/multi_slot_k123p/multi_slot_k123p.groovy create mode 100644 regression-test/suites/materialized_view_p0/multi_slot_k1a2p2ap3p/multi_slot_k1a2p2ap3p.groovy create mode 100644 regression-test/suites/materialized_view_p0/multi_slot_k1a2p2ap3ps/multi_slot_k1a2p2ap3ps.groovy create mode 100644 regression-test/suites/materialized_view_p0/multi_slot_k1p2ap3p/multi_slot_k1p2ap3p.groovy create mode 100644 regression-test/suites/materialized_view_p0/multi_slot_k1p2ap3ps/multi_slot_k1p2ap3ps.groovy create mode 100644 regression-test/suites/materialized_view_p0/multi_slot_multi_mv/multi_slot_multi_mv.groovy - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] HappenLee merged pull request #16378: [Feature](Materialized-View) support multiple slot on one column in materialized view
HappenLee merged PR #16378: URL: https://github.com/apache/doris/pull/16378 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] TangSiyang2001 commented on issue #16741: [Bug] create table could create column with type 'ALL'
TangSiyang2001 commented on issue #16741: URL: https://github.com/apache/doris/issues/16741#issuecomment-1429304124 I'll try to fix it. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] stalary opened a new issue, #16749: [Enhancement](Es) Support array inner type in fe
stalary opened a new issue, #16749: URL: https://github.com/apache/doris/issues/16749 ### Search before asking - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Description Support array inner type in fe ### Solution _No response_ ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16748: [Chore](build) enable fallthrough check annd fix some fallthrough bug
github-actions[bot] commented on PR #16748: URL: https://github.com/apache/doris/pull/16748#issuecomment-1429307868 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] morrySnow commented on a diff in pull request #16411: [feature](Nereids): Infer isNotNull from filter and eliminate OuterJoin
morrySnow commented on code in PR #16411: URL: https://github.com/apache/doris/pull/16411#discussion_r1105428879 ## fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java: ## @@ -101,6 +101,9 @@ public enum RuleType { ELIMINATE_GROUP_BY_CONSTANT(RuleTypeClass.REWRITE), ELIMINATE_ORDER_BY_CONSTANT(RuleTypeClass.REWRITE), INFER_PREDICATES(RuleTypeClass.REWRITE), +INFER_FILTER_NOT_NULL(RuleTypeClass.REWRITE), +INFER_JOIN_NOT_NULL(RuleTypeClass.REWRITE), Review Comment: not used rule type? ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java: ## @@ -45,8 +45,8 @@ * Abstract class for all Expression in Nereids. */ public abstract class Expression extends AbstractTreeNode implements ExpressionTrait { - -private static final String INPUT_CHECK_ERROR_MESSAGE = "argument %d requires %s type, however '%s' is of %s type"; +// Mask this expression is generated by rule, should be removed. +public boolean isGeneratedIsNotNull = false; Review Comment: should we process this attr in each withXXX function? i think we will lose this tag after rewrite. ## fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/EliminateNotNull.java: ## @@ -0,0 +1,80 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.rules.rewrite.logical; + +import org.apache.doris.nereids.rules.Rule; +import org.apache.doris.nereids.rules.RuleType; +import org.apache.doris.nereids.rules.rewrite.OneRewriteRuleFactory; +import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.IsNull; +import org.apache.doris.nereids.trees.expressions.Not; +import org.apache.doris.nereids.trees.expressions.Slot; +import org.apache.doris.nereids.trees.expressions.functions.ExpressionTrait; +import org.apache.doris.nereids.util.ExpressionUtils; +import org.apache.doris.nereids.util.PlanUtils; +import org.apache.doris.nereids.util.TypeUtils; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * EliminateNotNull. + */ +public class EliminateNotNull extends OneRewriteRuleFactory { +@Override +public Rule build() { +return logicalFilter() +.when(filter -> filter.getConjuncts().stream().anyMatch(expr -> expr.isGeneratedIsNotNull)) +.then(filter -> { +// 1. get all slots from `is not null`. +// 2. infer nonNullable slots. +// 3. remove `is not null` predicates. +Set removeIsNotNullPredicates = Sets.newHashSet(); +List slotsFromIsNotNull = Lists.newArrayList(); +filter.getConjuncts().stream() +.filter(expr -> !expr.isGeneratedIsNotNull) +.forEach(expr -> { +Optional notNullSlot = TypeUtils.isNotNull(expr); +if (notNullSlot.isPresent()) { +slotsFromIsNotNull.add(notNullSlot.get()); +} else { +removeIsNotNullPredicates.add(expr); +} +}); +Set inferNonNotSlots = ExpressionUtils.inferNotNullSlots(removeIsNotNullPredicates); + +Set keepIsNotNull = slotsFromIsNotNull.stream() +.filter(ExpressionTrait::nullable) +.filter(slot -> !inferNonNotSlots.contains(slot)) +.map(slot -> new Not(new IsNull(slot))).collect(Collectors.toSet()); + +// merge removeIsNotNullPredicates and keepIsNotNull into a new ImmutableSet +Set newPredicates = ImmutableSet.builder() +.addAll(removeIsNotNullPredicates) +.addAll(keepIsNotNull) +.build(); Review Comment: this rule is hard to understand, please add some exa
[GitHub] [doris] github-actions[bot] commented on a diff in pull request #16661: [Enhencement](CsvReader) Optimize CsvReader
github-actions[bot] commented on code in PR #16661: URL: https://github.com/apache/doris/pull/16661#discussion_r1105458194 ## be/src/vec/exec/format/file_reader/new_plain_text_line_reader.h: ## @@ -88,6 +104,25 @@ class NewPlainTextLineReader : public LineReader { size_t _current_offset; +std::string _value_delimiter; +size_t _value_delimiter_length; +bool _trim_tailing_spaces_for_external_table_query = false; +bool _trim_double_quotes = false; + +// point to the start of next field. +// this is an offset from line_start(). +size_t _field_start = 0; +size_t _non_space_offset = 0; +// point to the current position from line_start(). +// this is an offset from line_start() . +size_t _line_cur_pos = 0; +// point to the current pos of separator matching sequence. +// this is an offset from the start of value_delimiter. +size_t _value_delimiter_cur_pos = 0; Review Comment: warning: private field '_value_delimiter_cur_pos' is not used [clang-diagnostic-unused-private-field] ```cpp size_t _value_delimiter_cur_pos = 0; ^ ``` -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] morrySnow commented on a diff in pull request #16459: [fix](planner)Fix colocate query failed
morrySnow commented on code in PR #16459: URL: https://github.com/apache/doris/pull/16459#discussion_r1105458743 ## fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java: ## @@ -539,6 +539,14 @@ private boolean dataDistributionMatchEqPredicate(List eqJoinPre // they are naturally colocate relationship no need to check colocate group Collection leftPartitions = leftRoot.getSelectedPartitionIds(); Collection rightPartitions = rightRoot.getSelectedPartitionIds(); + +// For UT or no partition is selected, getSelectedIndexId() == -1, see selectMaterializedView() +//boolean hitSameIndex = (leftTable.getId() == rightTable.getId()) +//&& (leftRoot.getSelectedIndexId() != -1 && rightRoot.getSelectedIndexId() != -1) +//&& (leftRoot.getSelectedIndexId() == rightRoot.getSelectedIndexId()); +// +//boolean noNeedCheckColocateGroup = hitSameIndex && (leftPartitions.equals(rightPartitions)) +//&& (leftPartitions.size() <= 1); Review Comment: mis-comment the new code? -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] BiteTheDDDDt opened a new pull request, #16750: [Feature](Materialized-View) change mv rewrite from bottom up to up bottom && Compatible with old …
BiteThet opened a new pull request, #16750: URL: https://github.com/apache/doris/pull/16750 # Proposed changes 1. change mv rewrite from bottom up to up bottom 2. compatible with old version mv 3. restore some ut codes (but disable) ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] yagagagaga opened a new pull request, #16751: [typo](docs) Fix some misspelled words
yagagagaga opened a new pull request, #16751: URL: https://github.com/apache/doris/pull/16751 # Proposed changes Issue Number: close #xxx ## Problem summary I found some misspellings in the docs, and I fixed it. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [x] Has document been added or modified * [ ] Does it need to update dependencies * [x] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[doris] branch master updated (ea78184551 -> 784c27deeb)
This is an automated email from the ASF dual-hosted git repository. gabriellee pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/doris.git from ea78184551 [Feature](Materialized-View) support multiple slot on one column in materialized view (#16378) add 784c27deeb [Bug](shuffle) fix mem leak in data stream sender (#16685) No new revisions were added by this update. Summary of changes: be/src/pipeline/exec/exchange_sink_buffer.cpp | 2 +- be/src/pipeline/exec/exchange_sink_buffer.h | 2 +- be/src/vec/sink/vdata_stream_sender.h | 27 +++ 3 files changed, 25 insertions(+), 6 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] Gabriel39 merged pull request #16685: [Bug](shuffle) fix mem leak in data stream sender
Gabriel39 merged PR #16685: URL: https://github.com/apache/doris/pull/16685 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16383: [Improvement](thrift) optimize thrift message
github-actions[bot] commented on PR #16383: URL: https://github.com/apache/doris/pull/16383#issuecomment-1429335860 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] jackwener commented on a diff in pull request #16411: [feature](Nereids): Infer isNotNull from filter and eliminate OuterJoin
jackwener commented on code in PR #16411: URL: https://github.com/apache/doris/pull/16411#discussion_r1105477872 ## fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java: ## @@ -101,6 +101,9 @@ public enum RuleType { ELIMINATE_GROUP_BY_CONSTANT(RuleTypeClass.REWRITE), ELIMINATE_ORDER_BY_CONSTANT(RuleTypeClass.REWRITE), INFER_PREDICATES(RuleTypeClass.REWRITE), +INFER_FILTER_NOT_NULL(RuleTypeClass.REWRITE), +INFER_JOIN_NOT_NULL(RuleTypeClass.REWRITE), Review Comment: next PR will use it. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] BiteTheDDDDt closed pull request #16654: [Feature](Materialized-View) testing
BiteThet closed pull request #16654: [Feature](Materialized-View) testing URL: https://github.com/apache/doris/pull/16654 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16751: [typo](docs) Fix some misspelled words
github-actions[bot] commented on PR #16751: URL: https://github.com/apache/doris/pull/16751#issuecomment-1429349569 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16751: [typo](docs) Fix some misspelled words
github-actions[bot] commented on PR #16751: URL: https://github.com/apache/doris/pull/16751#issuecomment-1429349640 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] hello-stephen commented on pull request #16737: [Enhance](ComputeNode) change logic of BeSelectionPolicy.getCandidateBackends
hello-stephen commented on PR #16737: URL: https://github.com/apache/doris/pull/16737#issuecomment-1429355838 TeamCity pipeline, clickbench performance test result: the sum of best hot time: 34.22 seconds stream load tsv: 470 seconds loaded 74807831229 Bytes, about 151 MB/s stream load json: 36 seconds loaded 2358488459 Bytes, about 62 MB/s stream load orc: 69 seconds loaded 1101869774 Bytes, about 15 MB/s stream load parquet: 28 seconds loaded 861443392 Bytes, about 29 MB/s https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230214085833_clickbench_pr_95967.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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] starocean999 merged pull request #16436: [enhancement](Nereids): avoid contruct groupExpr in graph-simplifier
starocean999 merged PR #16436: URL: https://github.com/apache/doris/pull/16436 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[doris] branch master updated: avoid contruct groupExpr in graph-simplifier (#16436)
This is an automated email from the ASF dual-hosted git repository. starocean999 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git The following commit(s) were added to refs/heads/master by this push: new abc828 avoid contruct groupExpr in graph-simplifier (#16436) abc828 is described below commit abc828d3ab05bd31b6a3720eed2013a7877e Author: 谢健 AuthorDate: Tue Feb 14 17:03:21 2023 +0800 avoid contruct groupExpr in graph-simplifier (#16436) Signed-off-by: xiejiann --- .../java/org/apache/doris/nereids/PlanContext.java | 50 --- .../apache/doris/nereids/cost/CostCalculator.java | 14 +- .../nereids/jobs/joinorder/hypergraph/Edge.java| 8 -- .../jobs/joinorder/hypergraph/GraphSimplifier.java | 149 +++-- .../nereids/properties/RequestPropertyDeriver.java | 4 +- .../doris/nereids/stats/StatsCalculator.java | 1 - .../doris/nereids/trees/plans/GroupPlan.java | 6 + 7 files changed, 118 insertions(+), 114 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/PlanContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/PlanContext.java index 6ad6327291..1d2a1dd343 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/PlanContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/PlanContext.java @@ -17,15 +17,12 @@ package org.apache.doris.nereids; -import org.apache.doris.common.Id; import org.apache.doris.nereids.memo.GroupExpression; -import org.apache.doris.nereids.properties.LogicalProperties; -import org.apache.doris.nereids.trees.expressions.Slot; import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.statistics.StatsDeriveResult; -import com.google.common.base.Preconditions; - +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -35,44 +32,43 @@ import java.util.List; * Inspired by GPORCA-CExpressionHandle. */ public class PlanContext { -// attached group expression -private final GroupExpression groupExpression; +private List childrenStats = new ArrayList<>(); +private StatsDeriveResult planStats = new StatsDeriveResult(0); +private int arity = 0; /** * Constructor for PlanContext. */ public PlanContext(GroupExpression groupExpression) { -this.groupExpression = groupExpression; -} - -public GroupExpression getGroupExpression() { -return groupExpression; +this.arity = groupExpression.arity(); +if (groupExpression.getOwnerGroup() == null) { +return; +} +planStats = groupExpression.getOwnerGroup().getStatistics(); +childrenStats = new ArrayList<>(); +for (int i = 0; i < groupExpression.arity(); i++) { +childrenStats.add(groupExpression.childStatistics(i)); +} } -public StatsDeriveResult getStatisticsWithCheck() { -StatsDeriveResult statistics = groupExpression.getOwnerGroup().getStatistics(); -Preconditions.checkNotNull(statistics); -return statistics; +public PlanContext(StatsDeriveResult planStats, StatsDeriveResult... childrenStats) { +this.planStats = planStats; +this.childrenStats = Arrays.asList(childrenStats); +this.arity = this.childrenStats.size(); } -public LogicalProperties childLogicalPropertyAt(int index) { -return groupExpression.child(index).getLogicalProperties(); +public int arity() { +return arity; } -public List getChildOutputSlots(int index) { -return childLogicalPropertyAt(index).getOutput(); -} - -public List getChildOutputIds(int index) { -return childLogicalPropertyAt(index).getOutputExprIds(); +public StatsDeriveResult getStatisticsWithCheck() { +return planStats; } /** * Get child statistics. */ public StatsDeriveResult getChildStatistics(int index) { -StatsDeriveResult statistics = groupExpression.child(index).getStatistics(); -Preconditions.checkNotNull(statistics); -return statistics; +return childrenStats.get(index); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostCalculator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostCalculator.java index 51fb7076f4..994566362b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostCalculator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/cost/CostCalculator.java @@ -90,6 +90,14 @@ public class CostCalculator { return costWeight.calculate(costEstimate); } +public static double calculateCost(Plan plan, PlanContext planContext) { +CostEstimator costCalculator = new CostEstimator(); +CostEstimate costEstimate = plan.accept(costCalculator, planContext); +CostWeight costWeight = new CostWeight(CPU_WEIGHT, MEMORY_WEIGHT, NETWO
[GitHub] [doris] pengxiangyu opened a new pull request, #16752: [fix](cooldown)move remove_unused_remote_files
pengxiangyu opened a new pull request, #16752: URL: https://github.com/apache/doris/pull/16752 # Proposed changes Issue Number: close #xxx ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16466: [Pipeline][WIP] Introduce pipeline tracing
github-actions[bot] commented on PR #16466: URL: https://github.com/apache/doris/pull/16466#issuecomment-1429384765 `sh-checker report` To get the full details, please check in the [job]("https://github.com/apache/doris/actions/runs/4172238571";) output. shellcheck errors ``` 'shellcheck ' found no issues. ``` shfmt errors ``` 'shfmt ' returned error 1 finding the following formatting issues: -- --- build.sh.orig +++ build.sh @@ -336,7 +336,7 @@ fi if [[ -z "${ENABLE_QUERY_DEBUG_TRACE}" ]]; then -ENABLE_QUERY_DEBUG_TRACE='OFF' +ENABLE_QUERY_DEBUG_TRACE='OFF' fi echo "Get params: -- You can reformat the above files to meet shfmt's requirements by typing: shfmt -w filename ``` -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on a diff in pull request #16752: [fix](cooldown)move remove_unused_remote_files
github-actions[bot] commented on code in PR #16752: URL: https://github.com/apache/doris/pull/16752#discussion_r1105512142 ## be/src/olap/tablet_manager.cpp: ## @@ -1372,4 +1372,161 @@ std::set TabletManager::check_all_tablet_segment(bool repair) { return bad_tablets; } +void TabletManager::remove_unused_remote_files() { +auto tablets = StorageEngine::instance()->tablet_manager()->get_all_tablet([](Tablet* t) { +return t->tablet_meta()->cooldown_meta_id().initialized() && t->is_used() && + t->tablet_state() == TABLET_RUNNING; +}); +TConfirmUnusedRemoteFilesRequest req; +req.__isset.confirm_list = true; +// tablet_id -> [fs, unused_remote_files] +using unused_remote_files_buffer_t = std::unordered_map< +int64_t, std::pair, std::vector>>; +unused_remote_files_buffer_t buffer; +int64_t num_files_in_buffer = 0; +// assume a filename is 0.1KB, buffer size should not larger than 100MB +constexpr int64_t max_files_in_buffer = 100; + +auto calc_unused_remote_files = [&req, &buffer, &num_files_in_buffer](Tablet* t) { +auto storage_policy = get_storage_policy(t->storage_policy_id()); +if (storage_policy == nullptr) { +LOG(WARNING) << "could not find storage_policy, storage_policy_id=" + << t->storage_policy_id(); +return; +} +auto resource = get_storage_resource(storage_policy->resource_id); +auto dest_fs = std::static_pointer_cast(resource.fs); +if (dest_fs == nullptr) { +LOG(WARNING) << "could not find resource, resouce_id=" << storage_policy->resource_id; +return; +} +DCHECK(atol(dest_fs->id().c_str()) == storage_policy->resource_id); +DCHECK(dest_fs->type() != io::FileSystemType::LOCAL); + +Status st; +std::vector files; +{ +std::unique_lock xlock(t->_remote_files_lock, std::try_to_lock); Review Comment: warning: '_remote_files_lock' is a private member of 'doris::Tablet' [clang-diagnostic-error] ```cpp std::unique_lock xlock(t->_remote_files_lock, std::try_to_lock); ^ ``` **be/src/olap/tablet.h:508:** declared private here ```cpp std::shared_mutex _remote_files_lock; ^ ``` ## be/src/olap/tablet_manager.cpp: ## @@ -1372,4 +1372,161 @@ return bad_tablets; } +void TabletManager::remove_unused_remote_files() { +auto tablets = StorageEngine::instance()->tablet_manager()->get_all_tablet([](Tablet* t) { +return t->tablet_meta()->cooldown_meta_id().initialized() && t->is_used() && + t->tablet_state() == TABLET_RUNNING; +}); +TConfirmUnusedRemoteFilesRequest req; +req.__isset.confirm_list = true; +// tablet_id -> [fs, unused_remote_files] +using unused_remote_files_buffer_t = std::unordered_map< +int64_t, std::pair, std::vector>>; +unused_remote_files_buffer_t buffer; +int64_t num_files_in_buffer = 0; +// assume a filename is 0.1KB, buffer size should not larger than 100MB +constexpr int64_t max_files_in_buffer = 100; + +auto calc_unused_remote_files = [&req, &buffer, &num_files_in_buffer](Tablet* t) { +auto storage_policy = get_storage_policy(t->storage_policy_id()); +if (storage_policy == nullptr) { +LOG(WARNING) << "could not find storage_policy, storage_policy_id=" + << t->storage_policy_id(); +return; +} +auto resource = get_storage_resource(storage_policy->resource_id); +auto dest_fs = std::static_pointer_cast(resource.fs); +if (dest_fs == nullptr) { +LOG(WARNING) << "could not find resource, resouce_id=" << storage_policy->resource_id; +return; +} +DCHECK(atol(dest_fs->id().c_str()) == storage_policy->resource_id); +DCHECK(dest_fs->type() != io::FileSystemType::LOCAL); + +Status st; +std::vector files; +{ +std::unique_lock xlock(t->_remote_files_lock, std::try_to_lock); +if (!xlock.owns_lock()) { +LOG(WARNING) << "try remote_files_lock failed. tablet_id=" << t->tablet_id(); +return; +} +// FIXME(plat1ko): What if user reset resource in storage policy to another resource? +// Maybe we should also list files in previously uploaded resources. +st = dest_fs->list(BetaRowset::remote_tablet_path(t->tablet_id()), &files); +} +if (!st.ok()) { +LOG(WARNING) << "encounter error when remove unused remote files, tablet_id=" + << t->tablet_id() << " : " << st; +} +if (files.empty()) { +return; +} +// get all cooldowned rowsets +std::unor
[GitHub] [doris] BiteTheDDDDt commented on a diff in pull request #16734: [Opt](exec) opt aggreate function performance in nullable column
BiteThet commented on code in PR #16734: URL: https://github.com/apache/doris/pull/16734#discussion_r1105512439 ## be/src/vec/aggregate_functions/helpers.h: ## @@ -125,70 +123,32 @@ static IAggregateFunction* create_with_numeric_type(const IDataType& argument_ty return new AggregateFunctionTemplate>(std::forward(args)...); FOR_NUMERIC_TYPES(DISPATCH) #undef DISPATCH -// if (which.idx == TypeIndex::Enum8) return new AggregateFunctionTemplate>(std::forward(args)...); -// if (which.idx == TypeIndex::Enum16) return new AggregateFunctionTemplate>(std::forward(args)...); -return nullptr; -} - -template class AggregateFunctionTemplate, - template class Data, typename... TArgs> -static IAggregateFunction* create_with_unsigned_integer_type(const IDataType& argument_type, - TArgs&&... args) { -WhichDataType which(argument_type); -if (which.idx == TypeIndex::UInt8) { -return new AggregateFunctionTemplate>(std::forward(args)...); -} -if (which.idx == TypeIndex::UInt16) { -return new AggregateFunctionTemplate>(std::forward(args)...); -} -if (which.idx == TypeIndex::UInt32) { -return new AggregateFunctionTemplate>(std::forward(args)...); -} -if (which.idx == TypeIndex::UInt64) { -return new AggregateFunctionTemplate>(std::forward(args)...); -} return nullptr; } template class AggregateFunctionTemplate, typename... TArgs> -static IAggregateFunction* create_with_numeric_based_type(const IDataType& argument_type, - TArgs&&... args) { -IAggregateFunction* f = create_with_numeric_type( -argument_type, std::forward(args)...); -if (f) { -return f; -} - -/// expects that DataTypeDate based on UInt16, DataTypeDateTime based on UInt32 and UUID based on UInt128 +static IAggregateFunction* create_with_decimal_type(const IDataType& argument_type, +TArgs&&... args) { WhichDataType which(argument_type); -if (which.idx == TypeIndex::Date) { -return new AggregateFunctionTemplate(std::forward(args)...); -} -if (which.idx == TypeIndex::DateTime) { -return new AggregateFunctionTemplate(std::forward(args)...); -} -if (which.idx == TypeIndex::UUID) { -return new AggregateFunctionTemplate(std::forward(args)...); -} +#define DISPATCH(TYPE)\ +if (which.idx == TypeIndex::TYPE) \ +return new AggregateFunctionTemplate(std::forward(args)...); +FOR_DECIMAL_TYPES(DISPATCH) +#undef DISPATCH return nullptr; } template class AggregateFunctionTemplate, typename... TArgs> -static IAggregateFunction* create_with_decimal_type(const IDataType& argument_type, -TArgs&&... args) { -WhichDataType which(argument_type); -if (which.idx == TypeIndex::Decimal32) { -return new AggregateFunctionTemplate(std::forward(args)...); -} -if (which.idx == TypeIndex::Decimal64) { -return new AggregateFunctionTemplate(std::forward(args)...); -} -if (which.idx == TypeIndex::Decimal128) { -return new AggregateFunctionTemplate(std::forward(args)...); -} -if (which.idx == TypeIndex::Decimal128I) { -return new AggregateFunctionTemplate(std::forward(args)...); -} +static IAggregateFunction* create_with_decimal_type_null(const DataTypes& argument_types, + const Array& params, TArgs&&... args) { +WhichDataType which(argument_types[0]); +#define DISPATCH(TYPE) \ +if (which.idx == TypeIndex::TYPE) \ +return new AggregateFunctionNullUnaryInline, true>( \ +new AggregateFunctionTemplate(std::forward(args)...), argument_types, \ +params); +FOR_NUMERIC_TYPES(DISPATCH) Review Comment: Maybe there should use `FOR_DECIMAL_TYPES`? -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] BiteTheDDDDt commented on a diff in pull request #16734: [Opt](exec) opt aggreate function performance in nullable column
BiteThet commented on code in PR #16734: URL: https://github.com/apache/doris/pull/16734#discussion_r1105514952 ## be/src/vec/data_types/data_type_nullable.cpp: ## @@ -158,4 +158,16 @@ DataTypePtr remove_nullable(const DataTypePtr& type) { return type; } +DataTypes remove_nullable(const DataTypes& types) { +DataTypes no_null_types; +for (auto& type : types) { +if (type->is_nullable()) { +no_null_types.push_back(static_cast(*type).get_nested_type()); Review Comment: Maybe we can just use `no_null_types.push_back(remove_nullable(type))` -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] pengxiangyu closed pull request #16752: [fix](cooldown)move remove_unused_remote_files
pengxiangyu closed pull request #16752: [fix](cooldown)move remove_unused_remote_files URL: https://github.com/apache/doris/pull/16752 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] morrySnow commented on a diff in pull request #16449: [enhancement](nereids)enhance join reorder rule with project
morrySnow commented on code in PR #16449: URL: https://github.com/apache/doris/pull/16449#discussion_r1104455166 ## fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/InApplyToJoin.java: ## @@ -63,7 +63,9 @@ public Rule build() { throw new AnalysisException("nereids don't support bitmap runtime filter"); } if (((InSubquery) apply.getSubqueryExpr()).isNot()) { -return new LogicalJoin<>(JoinType.NULL_AWARE_LEFT_ANTI_JOIN, Lists.newArrayList(), +return new LogicalJoin<>( +predicate.nullable() ? JoinType.NULL_AWARE_LEFT_ANTI_JOIN : JoinType.LEFT_ANTI_JOIN, +Lists.newArrayList(), Review Comment: i don't think this is good enough. think about that if we have a outer join under apply and the outer join could trans to inner join. then we should turn NULL_AWARE_LEFT_ANTI_JOIN in LEFT_ANTI_JOIN after the outer join elimination. ## fe/fe-core/src/test/java/org/apache/doris/nereids/util/LogicalPlanBuilder.java: ## @@ -84,6 +85,18 @@ public LogicalPlanBuilder alias(List slotsIndex, List alias) { return from(project); } +public LogicalPlanBuilder complexAlias(List slotsIndex, List alias) { +Preconditions.checkArgument(slotsIndex.size() == alias.size()); Review Comment: add error msg in check ## fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinReorderUtils.java: ## @@ -79,10 +80,67 @@ public static Set combineProjectAndChildExprId(Plan b, List projectExprs, Plan plan) { -if (projectExprs.isEmpty() || projectExprs.stream().map(NamedExpression::getExprId).collect(Collectors.toSet()) -.equals(plan.getOutputExprIdSet())) { +if (projectExprs.isEmpty() || projectExprs.stream().map(NamedExpression::getExprId) + .collect(Collectors.toSet()).equals(plan.getOutputExprIdSet())) { return plan; } return new LogicalProject<>(projectExprs, plan); } + +/** + * - prevent reorder when hyper edge is in projection. like project A.id + B.id as ab join C on ab = C.id + */ +static boolean checkProjectForJoin(LogicalProject> project) { Review Comment: ```suggestion static boolean checkHyperEdgeProjectForJoin(LogicalProject> project) { ``` ## fe/fe-core/src/test/java/org/apache/doris/nereids/util/LogicalPlanBuilder.java: ## @@ -84,6 +85,18 @@ public LogicalPlanBuilder alias(List slotsIndex, List alias) { return from(project); } +public LogicalPlanBuilder complexAlias(List slotsIndex, List alias) { +Preconditions.checkArgument(slotsIndex.size() == alias.size()); + +List projectExprs = Lists.newArrayList(); Review Comment: use a `ImmutableList.Builder` is better ## fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinReorderUtils.java: ## @@ -79,10 +80,67 @@ public static Set combineProjectAndChildExprId(Plan b, List projectExprs, Plan plan) { -if (projectExprs.isEmpty() || projectExprs.stream().map(NamedExpression::getExprId).collect(Collectors.toSet()) -.equals(plan.getOutputExprIdSet())) { +if (projectExprs.isEmpty() || projectExprs.stream().map(NamedExpression::getExprId) + .collect(Collectors.toSet()).equals(plan.getOutputExprIdSet())) { return plan; } return new LogicalProject<>(projectExprs, plan); } + +/** + * - prevent reorder when hyper edge is in projection. like project A.id + B.id as ab join C on ab = C.id + */ +static boolean checkProjectForJoin(LogicalProject> project) { +List exprs = project.getProjects(); +Set leftExprIds = project.child().left().getOutputExprIdSet(); +Set rightExprIds = project.child().right().getOutputExprIdSet(); +return exprs.stream().allMatch(expr -> { +Set exprIds = expr.getInputSlotExprIds(); +boolean findInLeft = false; +boolean findInRight = false; +for (ExprId id : exprIds) { +findInLeft = findInLeft || leftExprIds.contains(id); +findInRight = findInRight || rightExprIds.contains(id); +} +return !(findInLeft && findInRight); +}); +} + +/** + *topJoin newTopJoin + */ \ /\ + *projectC newLeftProject newRightProject + * /──► /\ + * bottomJoinnewBottomJoin B + */ \ / \ + * A B A C + * + * calculate the replace map for new top and bottom join conjuncts + * @param projects project's output Review Comment: ```suggestion * c
[GitHub] [doris] ZhangGuoqiang666 opened a new pull request, #16753: test ignore p0 pipeline when change only docker file
ZhangGuoqiang666 opened a new pull request, #16753: URL: https://github.com/apache/doris/pull/16753 # Proposed changes Issue Number: close #xxx ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] bowenliang123 opened a new pull request, #16754: [chore](dependency) fix ubuntu package conflict by skipping `apt upgrade` in build-thirdparty workflow
bowenliang123 opened a new pull request, #16754: URL: https://github.com/apache/doris/pull/16754 # Proposed changes Issue Number: close #xxx ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments - skip `apt upgrade` in build-thirdparty workflow to avoid package conflicts in Ubuntu (https://github.com/apache/doris/actions/runs/4171352643/jobs/7221214733#step:4:283) ``` Unpacking odbcinst1debian2:amd64 (2.3.11) ... dpkg: error processing archive /tmp/apt-dpkg-install-SY6NPA/43-odbcinst1debian2_2.3.11_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libodbcinst.so.2.0.0', which is also in package libodbcinst2:amd64 2.3.9-5 dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) ``` - `apt update` should be able to guarantee the latested packages and there dependencies installed as in `apt install` -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] bowenliang123 commented on pull request #16754: [chore](dependency) fix ubuntu package conflict by skipping `apt upgrade` in build-thirdparty workflow
bowenliang123 commented on PR #16754: URL: https://github.com/apache/doris/pull/16754#issuecomment-1429417103 This problem is encountered when I am doing another PR (https://github.com/apache/doris/pull/16736), which brings no dependency change bug failed in `Build Third Party Libraries (Linux)` job. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] bowenliang123 commented on pull request #16754: [chore](dependency) fix ubuntu package conflict by skipping `apt upgrade` in build-thirdparty workflow
bowenliang123 commented on PR #16754: URL: https://github.com/apache/doris/pull/16754#issuecomment-1429420137 cc @adonis0147 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] stalary opened a new pull request, #16755: [Fix](CMakeLists): Reduce clang version
stalary opened a new pull request, #16755: URL: https://github.com/apache/doris/pull/16755 # Proposed changes Issue Number: close #xxx ## Problem summary Reduce clang version ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16755: [Fix](CMakeLists): Reduce clang version
github-actions[bot] commented on PR #16755: URL: https://github.com/apache/doris/pull/16755#issuecomment-1429429468 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16755: [Fix](CMakeLists): Reduce clang version
github-actions[bot] commented on PR #16755: URL: https://github.com/apache/doris/pull/16755#issuecomment-1429430695 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16755: [Fix](CMakeLists): Reduce clang version
github-actions[bot] commented on PR #16755: URL: https://github.com/apache/doris/pull/16755#issuecomment-1429430793 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16736: [chore](dependency) show progress bar when downloading third-party dependencies
github-actions[bot] commented on PR #16736: URL: https://github.com/apache/doris/pull/16736#issuecomment-1429436406 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16736: [chore](dependency) show progress bar when downloading third-party dependencies
github-actions[bot] commented on PR #16736: URL: https://github.com/apache/doris/pull/16736#issuecomment-1429436470 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16748: [Chore](build) enable fallthrough check annd fix some fallthrough bug
github-actions[bot] commented on PR #16748: URL: https://github.com/apache/doris/pull/16748#issuecomment-1429436602 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16754: [chore](dependency) fix ubuntu package conflict by skipping `apt upgrade` in build-thirdparty workflow
github-actions[bot] commented on PR #16754: URL: https://github.com/apache/doris/pull/16754#issuecomment-1429439039 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16754: [chore](dependency) fix ubuntu package conflict by skipping `apt upgrade` in build-thirdparty workflow
github-actions[bot] commented on PR #16754: URL: https://github.com/apache/doris/pull/16754#issuecomment-1429439119 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] TangSiyang2001 opened a new pull request, #16757: [fix](Stmt)pre-block create stmt with `ALL` column type
TangSiyang2001 opened a new pull request, #16757: URL: https://github.com/apache/doris/pull/16757 # Proposed changes Issue Number: close #16741 ## Problem summary Pre-block create stmt with `ALL` column type. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16742: [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction
github-actions[bot] commented on PR #16742: URL: https://github.com/apache/doris/pull/16742#issuecomment-1429470672 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] TangSiyang2001 commented on pull request #16757: [fix](Stmt)pre-block create stmt with `ALL` column type
TangSiyang2001 commented on PR #16757: URL: https://github.com/apache/doris/pull/16757#issuecomment-1429473769 CREATE stmt with `ALL` type will be blocked. ```bash mysql> create table test (c1 all) distributed by hash(c1) properties('replication_num'='1'); ERROR 1105 (HY000): errCode = 2, detailMessage = Disable to create table with `ALL` type columns. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] Tanya-W opened a new pull request, #16758: [improve](inverted index) Add element count limit for inverted index searcher cache
Tanya-W opened a new pull request, #16758: URL: https://github.com/apache/doris/pull/16758 # Proposed changes Issue Number: close #xxx ## Problem summary The element in InvertedIndexSearcherCache is inverted index searcher, which is a file descriptor of inverted index file, so `InvertedIndexSearcherCache` is actually cache file descriptor of inverted index file. If open file descriptor limit of the Linux system is set too small and config `inverted_index_searcher_cache_limit` is too big, during high pressure load maybe cause "Too many open files". So, when insert inverted index searcher into `InvertedIndexSearcherCache`, need also check whether reach file_descriptor_number limit for inverted index file. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16758: [improve](inverted index) Add element count limit for inverted index searcher cache
github-actions[bot] commented on PR #16758: URL: https://github.com/apache/doris/pull/16758#issuecomment-1429485331 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] catpineapple opened a new pull request, #16759: [feature](planner)fix multi partition support datetime column
catpineapple opened a new pull request, #16759: URL: https://github.com/apache/doris/pull/16759 # Proposed changes Issue Number: close #16684 ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16758: [improve](inverted index) Add element count limit for inverted index searcher cache
github-actions[bot] commented on PR #16758: URL: https://github.com/apache/doris/pull/16758#issuecomment-1429494632 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] TangSiyang2001 commented on pull request #16757: [fix](Stmt)pre-block create stmt with `ALL` column type
TangSiyang2001 commented on PR #16757: URL: https://github.com/apache/doris/pull/16757#issuecomment-1429502073 > could you plz add some test? What kind of test? My test result was like below, it did work then: ```bash mysql> create table test (c1 all) distributed by hash(c1) properties('replication_num'='1'); ERROR 1105 (HY000): errCode = 2, detailMessage = Disable to create table with `ALL` type columns. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #14063: [Feature](ipv6)Support IPV6
github-actions[bot] commented on PR #14063: URL: https://github.com/apache/doris/pull/14063#issuecomment-1429512777 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] yiguolei closed issue #16458: [Bug] Query same tablet but hits different rollup should not use colocate join
yiguolei closed issue #16458: [Bug] Query same tablet but hits different rollup should not use colocate join URL: https://github.com/apache/doris/issues/16458 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] yiguolei merged pull request #16459: [fix](planner)Fix colocate query failed
yiguolei merged PR #16459: URL: https://github.com/apache/doris/pull/16459 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[doris] branch master updated: [fix](planner)Fix colocate query failed #16459
This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git The following commit(s) were added to refs/heads/master by this push: new acf5540a9f [fix](planner)Fix colocate query failed #16459 acf5540a9f is described below commit acf5540a9fcaf4e0565e8566119eeea5b31cea82 Author: wangbo AuthorDate: Tue Feb 14 18:51:28 2023 +0800 [fix](planner)Fix colocate query failed #16459 Issue Number: close #16458 Co-authored-by: wangb...@meituan.com --- .../apache/doris/planner/DistributedPlanner.java | 10 +++- .../org/apache/doris/planner/OlapScanNode.java | 4 ++ .../correctness_p0/test_colocate_join.groovy | 68 ++ 3 files changed, 80 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java index 89c491165a..66027f558e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/DistributedPlanner.java @@ -539,8 +539,14 @@ public class DistributedPlanner { // they are naturally colocate relationship no need to check colocate group Collection leftPartitions = leftRoot.getSelectedPartitionIds(); Collection rightPartitions = rightRoot.getSelectedPartitionIds(); -boolean noNeedCheckColocateGroup = (leftTable.getId() == rightTable.getId()) -&& (leftPartitions.equals(rightPartitions)) && (leftPartitions.size() <= 1); + +// For UT or no partition is selected, getSelectedIndexId() == -1, see selectMaterializedView() +boolean hitSameIndex = (leftTable.getId() == rightTable.getId()) +&& (leftRoot.getSelectedIndexId() != -1 && rightRoot.getSelectedIndexId() != -1) +&& (leftRoot.getSelectedIndexId() == rightRoot.getSelectedIndexId()); + +boolean noNeedCheckColocateGroup = hitSameIndex && (leftPartitions.equals(rightPartitions)) +&& (leftPartitions.size() <= 1); if (!noNeedCheckColocateGroup) { ColocateTableIndex colocateIndex = Env.getCurrentColocateIndex(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java index 84ad12ee62..e18c907b60 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java @@ -321,6 +321,10 @@ public class OlapScanNode extends ScanNode { this.selectedIndexId = olapTable.getBaseIndexId(); } +public long getSelectedIndexId() { +return selectedIndexId; +} + /** * This method is mainly used to update scan range info in OlapScanNode by the * new materialized selector. diff --git a/regression-test/suites/correctness_p0/test_colocate_join.groovy b/regression-test/suites/correctness_p0/test_colocate_join.groovy index 6b1e81eb80..63d84f5b99 100644 --- a/regression-test/suites/correctness_p0/test_colocate_join.groovy +++ b/regression-test/suites/correctness_p0/test_colocate_join.groovy @@ -81,4 +81,72 @@ suite("test_colocate_join") { contains "4:VHASH JOIN\n | join op: INNER JOIN(COLOCATE[])[]" contains "2:VHASH JOIN\n | join op: INNER JOIN(COLOCATE[])[]" } + +/* test join same table but hit different rollup, should disable colocate join */ +sql """ DROP TABLE IF EXISTS `test_query_colocate`;""" + +sql """ +CREATE TABLE `test_query_colocate` ( + `datekey` int(11) NULL, + `rollup_1_condition` int null, + `rollup_2_condition` int null, + `sum_col1` bigint(20) SUM NULL, + `sum_col2` bigint(20) SUM NULL +) ENGINE=OLAP +AGGREGATE KEY(`datekey`,`rollup_1_condition`,`rollup_2_condition`) +COMMENT "" +PARTITION BY RANGE(`datekey`) +(PARTITION p20220102 VALUES [("20220101"), ("20220102")), +PARTITION p20220103 VALUES [("20220102"), ("20220103"))) +DISTRIBUTED BY HASH(`datekey`) BUCKETS 1 +rollup ( +rollup_1(datekey, sum_col1), +rollup_2(datekey, sum_col2) +) +PROPERTIES ( +"replication_allocation" = "tag.location.default: 1", +"in_memory" = "false", +"storage_format" = "V2" +) +""" + +sql """insert into test_query_colocate values +(20220101, 102, 200, 200, 100), +(20220101, 101, 200, 200, 100), +(20220101, 102, 202, 200, 100), +(20220101, 101, 202, 200, 100);""" + +explain { +sql("select " + +" sum_col1,sum_col2 " + +"from " + +
[GitHub] [doris] Jibing-Li opened a new pull request, #16760: [Fix](multi catalog)Fix partition case bug.
Jibing-Li opened a new pull request, #16760: URL: https://github.com/apache/doris/pull/16760 # Proposed changes Issue Number: close #xxx ## Problem summary Set column names from path to lower case in case-insensitive case. This is for Iceberg columns from path. Iceberg columns are case sensitive, which may cause error for table with partitions. * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] Yukang-Lian commented on pull request #16757: [fix](Stmt)pre-block create stmt with `ALL` column type
Yukang-Lian commented on PR #16757: URL: https://github.com/apache/doris/pull/16757#issuecomment-1429521487 > > could you plz add some test? > > What kind of test? My manual test result was like below,and it did work then: > > ```shell > mysql> create table test (c1 all) distributed by hash(c1) properties('replication_num'='1'); > ERROR 1105 (HY000): errCode = 2, detailMessage = Disable to create table with `ALL` type columns. > ``` you can try to add FE UT or regression test. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris-website] morningman merged pull request #189: [doc] add 1.2.2 download link
morningman merged PR #189: URL: https://github.com/apache/doris-website/pull/189 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[doris-website] branch master updated: [doc] add 1.2.2 download link (#189)
This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris-website.git The following commit(s) were added to refs/heads/master by this push: new 32735acc9b [doc] add 1.2.2 download link (#189) 32735acc9b is described below commit 32735acc9b1dde1ec61a37417d8c8f7265ef2f10 Author: Mingyu Chen AuthorDate: Tue Feb 14 18:57:17 2023 +0800 [doc] add 1.2.2 download link (#189) --- src/constant/download.data.ts | 88 +++ 1 file changed, 47 insertions(+), 41 deletions(-) diff --git a/src/constant/download.data.ts b/src/constant/download.data.ts index e2f81bfdd7..01361e987f 100644 --- a/src/constant/download.data.ts +++ b/src/constant/download.data.ts @@ -27,88 +27,88 @@ export function getAllDownloadLinks(locale: string) { const sources = locale.toLocaleUpperCase() === 'EN' ? APACHE_LINK : CHINA_MIRROR_LINK; return [ { -id: '1.2.1-intel-avx2-jdk8', +id: '1.2.2-intel-avx2-jdk8', items: [ { -label: 'apache-doris-fe-1.2.1-bin-x86_64.tar.xz', +label: 'apache-doris-fe-1.2.2-bin-x86_64.tar.xz', links: { -source: `${sources}doris/1.2/1.2.1-rc01/apache-doris-fe-1.2.1-bin-x86_64.tar.xz`, -signature: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-fe-1.2.1-bin-x86_64.tar.xz.asc`, -sha512: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-fe-1.2.1-bin-x86_64.tar.xz.sha512`, +source: `${sources}doris/1.2/1.2.2-rc01/apache-doris-fe-1.2.2-bin-x86_64.tar.xz`, +signature: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-fe-1.2.2-bin-x86_64.tar.xz.asc`, +sha512: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-fe-1.2.2-bin-x86_64.tar.xz.sha512`, }, }, { -label: 'apache-doris-be-1.2.1-bin-x86_64.tar.xz', +label: 'apache-doris-be-1.2.2-bin-x86_64.tar.xz', links: { -source: `${sources}doris/1.2/1.2.1-rc01/apache-doris-be-1.2.1-bin-x86_64.tar.xz`, -signature: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-be-1.2.1-bin-x86_64.tar.xz.asc`, -sha512: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-be-1.2.1-bin-x86_64.tar.xz.sha512`, +source: `${sources}doris/1.2/1.2.2-rc01/apache-doris-be-1.2.2-bin-x86_64.tar.xz`, +signature: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-be-1.2.2-bin-x86_64.tar.xz.asc`, +sha512: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-be-1.2.2-bin-x86_64.tar.xz.sha512`, }, }, { -label: 'apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz', +label: 'apache-doris-dependencies-1.2.2-bin-x86_64.tar.xz', links: { -source: `${sources}doris/1.2/1.2.1-rc01/apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz`, -signature: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz.asc`, -sha512: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz.sha512`, +source: `${sources}doris/1.2/1.2.2-rc01/apache-doris-dependencies-1.2.2-bin-x86_64.tar.xz`, +signature: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-dependencies-1.2.2-bin-x86_64.tar.xz.asc`, +sha512: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-dependencies-1.2.2-bin-x86_64.tar.xz.sha512`, }, }, ], }, { -id: '1.2.1-intel-noavx2-jdk8', +id: '1.2.2-intel-noavx2-jdk8', items: [ { -label: 'apache-doris-fe-1.2.1-bin-x86_64.tar.xz', +label: 'apache-doris-fe-1.2.2-bin-x86_64.tar.xz', links: { -source: `${sources}doris/1.2/1.2.1-rc01/apache-doris-fe-1.2.1-bin-x86_64.tar.xz`, -signature: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-fe-1.2.1-bin-x86_64.tar.xz.asc`, -sha512: `${APACHE_LINK}doris/1.2/1.2.1-rc01/apache-doris-fe-1.2.1-bin-x86_64.tar.xz.sha512`, +source: `${sources}doris/1.2/1.2.2-rc01/apache-doris-fe-1.2.2-bin-x86_64.tar.xz`, +signature: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-fe-1.2.2-bin-x86_64.tar.xz.asc`, +sha512: `${APACHE_LINK}doris/1.2/1.2.2-rc01/apache-doris-fe-1.2.2-bin-x86_64.tar.xz.sha
[GitHub] [doris] TangSiyang2001 commented on pull request #16757: [fix](Stmt)pre-block create stmt with `ALL` column type
TangSiyang2001 commented on PR #16757: URL: https://github.com/apache/doris/pull/16757#issuecomment-1429529028 > > > could you plz add some test? > > > > > > What kind of test? My manual test result was like below,and it did work then: > > ```shell > > mysql> create table test (c1 all) distributed by hash(c1) properties('replication_num'='1'); > > ERROR 1105 (HY000): errCode = 2, detailMessage = Disable to create table with `ALL` type columns. > > ``` > > you can try to add FE UT or regression test. A FE UT might be proper, I'll add it. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] pengxiangyu closed pull request #16258: [feature](cooldown)Add cooldown delete
pengxiangyu closed pull request #16258: [feature](cooldown)Add cooldown delete URL: https://github.com/apache/doris/pull/16258 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] hello-stephen commented on pull request #16755: [Fix](CMakeLists): Reduce clang version
hello-stephen commented on PR #16755: URL: https://github.com/apache/doris/pull/16755#issuecomment-1429667098 TeamCity pipeline, clickbench performance test result: the sum of best hot time: 33.41 seconds stream load tsv: 480 seconds loaded 74807831229 Bytes, about 148 MB/s stream load json: 38 seconds loaded 2358488459 Bytes, about 59 MB/s stream load orc: 68 seconds loaded 1101869774 Bytes, about 15 MB/s stream load parquet: 28 seconds loaded 861443392 Bytes, about 29 MB/s https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230214122456_clickbench_pr_96203.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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] englefly commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
englefly commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105751625 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: 可否画一个类似自动机的图,说明一下这几个状态的转移关系? -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] XieJiann commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
XieJiann commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105756133 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: 这个在PhysicalSort那里有说明,和自动机关系不大,只是为了区分不同阶段下的sort -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] englefly commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
englefly commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105751625 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: how the phase tranformed? and what is the difference between merge and gather? ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: how the phases tranformed? and what is the difference between merge and gather? -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] englefly commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
englefly commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105751625 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: how the phases transferred? and what is the difference between merge and gather? -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] XieJiann commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
XieJiann commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105756133 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: 这个在PhysicalSort那里有说明(https://github.com/apache/doris/pull/16586/files#diff-b3ddfd96772020a76b2fabe35088a6faaf38f9b492ea1ff48b21523c93f0cab6 ),和自动机关系不大,只是为了区分不同阶段下的sort -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] XieJiann commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
XieJiann commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105756133 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: 这个在PhysicalSort那里有说明(https://github.com/apache/doris/pull/16586/files#diff-b3ddfd96772020a76b2fabe35088a6faaf38f9b492ea1ff48b21523c93f0cab6),和自动机关系不大,只是为了区分不同阶段下的sort -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16757: [fix](Stmt)pre-block create stmt with `ALL` column type
github-actions[bot] commented on PR #16757: URL: https://github.com/apache/doris/pull/16757#issuecomment-1429683853 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] englefly commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
englefly commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105751625 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), Review Comment: please add some comments about 1. how the phases transferred. 2. the difference between merge and gather. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] englefly commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
englefly commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105766515 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), +GATHER_SORT("GatherSort"), Review Comment: consider following plan ``` sort(gather) +---scan(T) ``` if T is replica table, do we add an exchange to gather data? -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on a diff in pull request #16731: [WIP] segcompaction feat. verticalcompaction
github-actions[bot] commented on code in PR #16731: URL: https://github.com/apache/doris/pull/16731#discussion_r1105775343 ## be/src/olap/rowset/beta_rowset_writer.cpp: ## @@ -116,17 +117,17 @@ Status BetaRowsetWriter::add_block(const vectorized::Block* block) { return _add_block(block, &_segment_writer); } -vectorized::VMergeIterator* BetaRowsetWriter::_get_segcompaction_reader( -SegCompactionCandidatesSharedPtr segments, std::shared_ptr schema, -OlapReaderStatistics* stat, uint64_t* merged_row_stat) { +std::unique_ptr BetaRowsetWriter::_get_segcompaction_reader( Review Comment: warning: method '_get_segcompaction_reader' can be made const [readability-make-member-function-const] be/src/olap/rowset/beta_rowset_writer.cpp:121: ```diff - std::shared_ptr schema, OlapReaderStatistics* stat, uint64_t* merged_row_stat, vectorized::RowSourcesBuffer& row_sources_buf, bool is_key, std::vector& return_columns) { + std::shared_ptr schema, OlapReaderStatistics* stat, uint64_t* merged_row_stat, vectorized::RowSourcesBuffer& row_sources_buf, bool is_key, std::vector& return_columns) const { ``` be/src/olap/rowset/beta_rowset_writer.h:120: ```diff - vectorized::RowSourcesBuffer& row_sources_buf, bool is_key, std::vector& return_columns); + vectorized::RowSourcesBuffer& row_sources_buf, bool is_key, std::vector& return_columns) const; ``` ## be/test/olap/segcompaction_test.cpp: ## @@ -184,6 +187,27 @@ class SegCompactionTest : public testing::Test { rowset_writer_context->tablet_schema = tablet_schema; rowset_writer_context->version.first = 10; rowset_writer_context->version.second = 10; + +#if 0 +TCreateTabletReq req; +req.table_id = +req.tablet_id = +req.tablet_scheme = +req.partition_id = +l_engine->create_tablet(req); +rowset_writer_context->tablet = l_engine->tablet_manager()->get_tablet(TTabletId tablet_id); +#endif +std::shared_ptr data_dir = std::make_shared(lTestDir); +TabletMetaSharedPtr tablet_meta = std::make_shared(); +tablet_meta->_tablet_id = 1; Review Comment: warning: '_tablet_id' is a private member of 'doris::TabletMeta' [clang-diagnostic-error] ```cpp tablet_meta->_tablet_id = 1; ^ ``` **be/src/olap/tablet_meta.h:220:** declared private here ```cpp int64_t _tablet_id = 0; ^ ``` ## be/test/olap/segcompaction_test.cpp: ## @@ -184,6 +187,27 @@ rowset_writer_context->tablet_schema = tablet_schema; rowset_writer_context->version.first = 10; rowset_writer_context->version.second = 10; + +#if 0 +TCreateTabletReq req; +req.table_id = +req.tablet_id = +req.tablet_scheme = +req.partition_id = +l_engine->create_tablet(req); +rowset_writer_context->tablet = l_engine->tablet_manager()->get_tablet(TTabletId tablet_id); +#endif +std::shared_ptr data_dir = std::make_shared(lTestDir); +TabletMetaSharedPtr tablet_meta = std::make_shared(); +tablet_meta->_tablet_id = 1; +tablet_meta->_schema = tablet_schema; Review Comment: warning: '_schema' is a private member of 'doris::TabletMeta' [clang-diagnostic-error] ```cpp tablet_meta->_schema = tablet_schema; ^ ``` **be/src/olap/tablet_meta.h:232:** declared private here ```cpp TabletSchemaSPtr _schema; ^ ``` ## be/test/olap/segcompaction_test.cpp: ## @@ -200,12 +224,123 @@ std::unique_ptr _data_dir; }; +TEST_F(SegCompactionTest, SegCompactionThenRead) { +config::enable_segcompaction = true; +config::enable_storage_vectorization = true; +Status s; +TabletSchemaSPtr tablet_schema = std::make_shared(); +create_tablet_schema(tablet_schema, DUP_KEYS); + +RowsetSharedPtr rowset; +const int num_segments = 15; +const uint32_t rows_per_segment = 4096; +config::segcompaction_small_threshold = 6000; // set threshold above + // rows_per_segment +config::segcompaction_threshold_segment_num = 10; +std::vector segment_num_rows; +{ // write `num_segments * rows_per_segment` rows to rowset +RowsetWriterContext writer_context; +create_rowset_writer_context(10047, tablet_schema, &writer_context); + +std::unique_ptr rowset_writer; +s = RowsetFactory::create_rowset_writer(writer_context, false, &rowset_writer); +EXPECT_EQ(Status::OK(), s); + +RowCursor input_row; +input_row.init(tablet_schema); + +// for segment
[GitHub] [doris] hello-stephen commented on pull request #16757: [fix](Stmt)pre-block create stmt with `ALL` column type
hello-stephen commented on PR #16757: URL: https://github.com/apache/doris/pull/16757#issuecomment-1429694909 TeamCity pipeline, clickbench performance test result: the sum of best hot time: 34.72 seconds stream load tsv: 481 seconds loaded 74807831229 Bytes, about 148 MB/s stream load json: 40 seconds loaded 2358488459 Bytes, about 56 MB/s stream load orc: 69 seconds loaded 1101869774 Bytes, about 15 MB/s stream load parquet: 28 seconds loaded 861443392 Bytes, about 29 MB/s https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230214124831_clickbench_pr_96338.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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] XieJiann commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
XieJiann commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105788563 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), +GATHER_SORT("GatherSort"), Review Comment: Do you mean T has only one tablet? In this case, the scan node has Gather property. So the gather is satisfied by the child of `sort`. We don't need to add a gather exchange node -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] XieJiann commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
XieJiann commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105788563 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), +GATHER_SORT("GatherSort"), Review Comment: Do you mean T has only one tablet? In this case, the scan node has the Gather property. So the Gather request by the sortNode is satisfied by its child. We don't need to add a gather exchange node -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] XieJiann commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
XieJiann commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105788563 ## fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/SortPhase.java: ## @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans; + +/** + * Represents different phase of agg and map it to the + * enum of agg phase definition of stale optimizer. + */ +public enum SortPhase { +MERGE_SORT("MergeSort"), +GATHER_SORT("GatherSort"), Review Comment: Do you mean T has only one tablet? In this case, the scan node has the Gather property. So the Gather requested by the sortNode is satisfied by its child. We don't need to add a gather exchange node -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] englefly opened a new pull request, #16761: [feature](nereids)add rule eliminate inner join when any child is EmptyRelation.
englefly opened a new pull request, #16761: URL: https://github.com/apache/doris/pull/16761 # Proposed changes add rule to eliminate inner join when any child is EmptyRelation: * before: * inner-join * / \ * NodeEmptyRelation * * after: * EmptyRelation Issue Number: close #xxx ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] hello-stephen commented on pull request #16759: [fix](planner)fix multi partition support datetime column
hello-stephen commented on PR #16759: URL: https://github.com/apache/doris/pull/16759#issuecomment-1429727828 TeamCity pipeline, clickbench performance test result: the sum of best hot time: 34.32 seconds stream load tsv: 479 seconds loaded 74807831229 Bytes, about 148 MB/s stream load json: 41 seconds loaded 2358488459 Bytes, about 54 MB/s stream load orc: 69 seconds loaded 1101869774 Bytes, about 15 MB/s stream load parquet: 28 seconds loaded 861443392 Bytes, about 29 MB/s https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230214131202_clickbench_pr_96258.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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] dataroaring merged pull request #16742: [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction
dataroaring merged PR #16742: URL: https://github.com/apache/doris/pull/16742 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[doris] branch master updated: [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction (#16742)
This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git The following commit(s) were added to refs/heads/master by this push: new 7482b6bad2 [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction (#16742) 7482b6bad2 is described below commit 7482b6bad2c368bda072ecca9dac0ad34ca9ba78 Author: plat1ko AuthorDate: Tue Feb 14 21:38:33 2023 +0800 [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction (#16742) Add cold_compaction_lock to serialize tablet clone, cold data compaction and follow cooldowned data --- be/src/olap/olap_server.cpp| 5 + be/src/olap/tablet.cpp | 9 ++--- be/src/olap/tablet.h | 5 - be/src/olap/task/engine_clone_task.cpp | 16 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/be/src/olap/olap_server.cpp b/be/src/olap/olap_server.cpp index 707b77db5b..409abffc47 100644 --- a/be/src/olap/olap_server.cpp +++ b/be/src/olap/olap_server.cpp @@ -833,6 +833,11 @@ void StorageEngine::_cold_data_compaction_producer_callback() { std::lock_guard lock(tablet_submitted_mtx); tablet_submitted.insert(t->tablet_id()); } +std::unique_lock cold_compaction_lock(t->get_cold_compaction_lock(), + std::try_to_lock); +if (!cold_compaction_lock.owns_lock()) { +LOG(WARNING) << "try cold_compaction_lock failed, tablet_id=" << t->tablet_id(); +} auto st = compaction->compact(); { std::lock_guard lock(tablet_submitted_mtx); diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp index a931b6c81b..f7b36a2d40 100644 --- a/be/src/olap/tablet.cpp +++ b/be/src/olap/tablet.cpp @@ -1773,9 +1773,6 @@ Status Tablet::_cooldown_data(const std::shared_ptr& dest_ RowsetSharedPtr new_rowset; RowsetFactory::create_rowset(_schema, _tablet_path, new_rowset_meta, &new_rowset); -std::vector to_add {std::move(new_rowset)}; -std::vector to_delete {std::move(old_rowset)}; - { std::unique_lock meta_wlock(_meta_lock); if (tablet_state() == TABLET_RUNNING) { @@ -1849,6 +1846,12 @@ Status Tablet::_follow_cooldowned_data(io::RemoteFileSystem* fs, int64_t cooldow LOG(INFO) << "try to follow cooldowned data. tablet_id=" << tablet_id() << " cooldown_replica_id=" << cooldown_replica_id << " local replica=" << replica_id(); +// MUST executing serially with cold data compaction, because compaction input rowsets may be deleted by this function +std::unique_lock cold_compaction_lock(_cold_compaction_lock, std::try_to_lock); +if (!cold_compaction_lock.owns_lock()) { +return Status::Error("try cold_compaction_lock failed"); +} + TabletMetaPB cooldown_meta_pb; RETURN_IF_ERROR(_read_cooldown_meta(fs, cooldown_replica_id, &cooldown_meta_pb)); DCHECK(cooldown_meta_pb.rs_metas_size() > 0); diff --git a/be/src/olap/tablet.h b/be/src/olap/tablet.h index f06463dcb3..f40450b947 100644 --- a/be/src/olap/tablet.h +++ b/be/src/olap/tablet.h @@ -331,6 +331,8 @@ public: std::shared_mutex& get_remote_files_lock() { return _remote_files_lock; } uint32_t calc_cold_data_compaction_score() const; + +std::mutex& get_cold_compaction_lock() { return _cold_compaction_lock; } // end cooldown functions @@ -505,10 +507,11 @@ private: bool _skip_base_compaction = false; int64_t _skip_base_compaction_ts; -// cooldown conf +// cooldown related int64_t _cooldown_replica_id = -1; int64_t _cooldown_term = -1; std::shared_mutex _remote_files_lock; +std::mutex _cold_compaction_lock; DISALLOW_COPY_AND_ASSIGN(Tablet); diff --git a/be/src/olap/task/engine_clone_task.cpp b/be/src/olap/task/engine_clone_task.cpp index d3f59653b7..923c3563c2 100644 --- a/be/src/olap/task/engine_clone_task.cpp +++ b/be/src/olap/task/engine_clone_task.cpp @@ -471,14 +471,6 @@ Status EngineCloneTask::_finish_clone(Tablet* tablet, const std::string& clone_d int64_t committed_version, bool is_incremental_clone) { Defer remove_clone_dir {[&]() { std::filesystem::remove_all(clone_dir); }}; -// clone and compaction operation should be performed sequentially -std::lock_guard base_compaction_lock(tablet->get_base_compaction_lock()); -std::lock_guard cumulative_compaction_lock( -tabl
[GitHub] [doris] morningman merged pull request #14063: [Feature](ipv6)Support IPV6
morningman merged PR #14063: URL: https://github.com/apache/doris/pull/14063 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[doris] branch master updated (7482b6bad2 -> d013d529c8)
This is an automated email from the ASF dual-hosted git repository. morningman pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/doris.git from 7482b6bad2 [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction (#16742) add d013d529c8 [Feature](ipv6)Support IPV6 (#14063) No new revisions were added by this update. Summary of changes: be/src/common/daemon.cpp | 3 +- be/src/http/ev_http_server.cpp | 5 +- be/src/olap/task/engine_clone_task.cpp | 3 +- be/src/runtime/fragment_mgr.cpp| 5 +- be/src/service/backend_options.cpp | 47 +++-- be/src/service/backend_options.h | 3 + be/src/service/brpc_service.cpp| 8 +- be/src/util/brpc_client_cache.h| 6 +- be/src/util/cidr.cpp | 101 -- be/src/util/cidr.h | 13 +- be/src/util/network_util.cpp | 72 --- be/src/util/network_util.h | 19 +- be/src/util/proto_util.h | 6 +- be/src/vec/sink/vtablet_sink.cpp | 7 +- be/test/agent/utils_test.cpp | 9 +- be/test/util/cidr_test.cpp | 16 +- .../main/java/org/apache/doris/catalog/Env.java| 27 ++- .../main/java/org/apache/doris/common/CIDR.java| 209 +++-- .../java/org/apache/doris/common/ThriftServer.java | 19 +- .../doris/common/proc/FrontendsProcNode.java | 12 +- .../apache/doris/common/proc/ReplicasProcNode.java | 8 +- .../apache/doris/common/proc/TabletsProcDir.java | 11 +- .../org/apache/doris/common/util/NetUtils.java | 24 +++ .../java/org/apache/doris/httpv2/HttpServer.java | 6 + .../org/apache/doris/httpv2/meta/MetaService.java | 3 +- .../apache/doris/httpv2/util/LoadSubmitter.java| 7 +- .../apache/doris/journal/bdbje/BDBEnvironment.java | 14 +- .../java/org/apache/doris/master/Checkpoint.java | 5 +- .../org/apache/doris/mysql/nio/NMysqlServer.java | 10 +- .../java/org/apache/doris/qe/ShowExecutor.java | 3 + .../org/apache/doris/service/FrontendOptions.java | 27 +-- .../org/apache/doris/system/SystemInfoService.java | 6 +- .../java/org/apache/doris/common/CidrTest.java | 24 ++- fe/pom.xml | 2 +- 34 files changed, 412 insertions(+), 328 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16654: [Feature](Materialized-View) testing
github-actions[bot] commented on PR #16654: URL: https://github.com/apache/doris/pull/16654#issuecomment-1429783483 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] morningman opened a new issue, #16762: [Feature] Support thirdparty authorization
morningman opened a new issue, #16762: URL: https://github.com/apache/doris/issues/16762 ### Search before asking - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Description In current implementation, the class `Auth` is used for: 1. Manager all authentication and authorization info such as user, role, password, privileges. 2. Provide an interface for privilege checking Some user may want to integrate external access management system such as Apache Ranger. So we should provide a way to let user set their own access controller. Implement it in 4 steps: - [ ] Add AccessControllerManager - [ ] Support specify AccessController when creating catalog - [ ] Support column privilege - [ ] Support Apache Range plugin ### Use case _No response_ ### Related issues _No response_ ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] morningman commented on pull request #16679: [Refactor](auth) Add AccessController to support customized authorization
morningman commented on PR #16679: URL: https://github.com/apache/doris/pull/16679#issuecomment-1429815128 > If a catalog uses range authentication, what should we do when the user uses' grant 'to authorize the table under the catalog? When checking the privilege of this catalog, it will skip InternalAccessController, only use user specified RangeAccessController. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16036: [feature] Support mutable property for partition
github-actions[bot] commented on PR #16036: URL: https://github.com/apache/doris/pull/16036#issuecomment-1429819668 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] Jibing-Li closed pull request #16760: [Fix](multi catalog) Fix partition case bug.
Jibing-Li closed pull request #16760: [Fix](multi catalog) Fix partition case bug. URL: https://github.com/apache/doris/pull/16760 -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] Jibing-Li opened a new pull request, #16763: [Fix](multi catalog)Fix partition case bug.
Jibing-Li opened a new pull request, #16763: URL: https://github.com/apache/doris/pull/16763 # Proposed changes Issue Number: close #xxx ## Problem summary Set column names from path to lower case in case-insensitive case. This is for Iceberg columns from path. Iceberg columns are case sensitive, which may cause error for table with partitions. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16036: [feature] Support mutable property for partition
github-actions[bot] commented on PR #16036: URL: https://github.com/apache/doris/pull/16036#issuecomment-1429843197 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] Jibing-Li opened a new pull request, #16764: [Fix](multi catalog)Fix iceberg parquet file doesn't have iceberg.schema meta problem.
Jibing-Li opened a new pull request, #16764: URL: https://github.com/apache/doris/pull/16764 # Proposed changes Issue Number: close #xxx ## Problem summary To support schema evolution, Iceberg add schema information to Parquet file metadata. But for early iceberg version, it doesn't write any schema information to Parquet file. This PR is to support read parquet without schema information. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16764: [Fix](multi catalog)Fix iceberg parquet file doesn't have iceberg.schema meta problem.
github-actions[bot] commented on PR #16764: URL: https://github.com/apache/doris/pull/16764#issuecomment-1429856205 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] zhilaohu32 opened a new issue, #16765: [Bug]
zhilaohu32 opened a new issue, #16765: URL: https://github.com/apache/doris/issues/16765 ### Search before asking - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Version 1.2.1 ### What's Wrong? https://doris.apache.org/zh-CN/docs/dev/install/construct-docker/construct-docker-image The docker image of be built according to the official documentation will not run. Container log output exec /opt/apache-doris/be/bin/init_be.sh: no such file or directory build was successful; the error occurred in run ### What You Expected? How to fix it ### How to Reproduce? _No response_ ### Anything Else? _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] morrySnow commented on a diff in pull request #16586: [refactor](Nereids): add two phase sort
morrySnow commented on code in PR #16586: URL: https://github.com/apache/doris/pull/16586#discussion_r1105957734 ## fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalTopNToPhysicalTopN.java: ## @@ -19,20 +19,33 @@ import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; +import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.SortPhase; +import org.apache.doris.nereids.trees.plans.logical.LogicalTopN; import org.apache.doris.nereids.trees.plans.physical.PhysicalTopN; +import com.google.common.collect.Lists; + +import java.util.List; + /** * Implementation rule that convert logical top-n to physical top-n. */ public class LogicalTopNToPhysicalTopN extends OneImplementationRuleFactory { @Override public Rule build() { -return logicalTopN().then(topN -> new PhysicalTopN<>( -topN.getOrderKeys(), -topN.getLimit(), -topN.getOffset(), -topN.getLogicalProperties(), -topN.child()) -).toRule(RuleType.LOGICAL_TOP_N_TO_PHYSICAL_TOP_N_RULE); +return logicalTopN().thenApplyMulti(ctx -> twoPhaseSort(ctx.root)) +.toRule(RuleType.LOGICAL_TOP_N_TO_PHYSICAL_TOP_N_RULE); +} + +private List> twoPhaseSort(LogicalTopN logicalTopN) { +PhysicalTopN localSort = new PhysicalTopN(logicalTopN.getOrderKeys(), logicalTopN.getLimit(), +logicalTopN.getOffset(), logicalTopN.getLogicalProperties(), logicalTopN.child(0), +SortPhase.LOCAL_SORT); +PhysicalTopN twoPhaseSort = new PhysicalTopN<>(logicalTopN.getOrderKeys(), logicalTopN.getLimit(), +logicalTopN.getOffset(), logicalTopN.getLogicalProperties(), localSort, SortPhase.MERGE_SORT); +PhysicalTopN onePhaseSort = new PhysicalTopN<>(logicalTopN.getOrderKeys(), logicalTopN.getLimit(), +logicalTopN.getOffset(), logicalTopN.getLogicalProperties(), localSort.child(0), SortPhase.GATHER_SORT); +return Lists.newArrayList(twoPhaseSort, onePhaseSort); Review Comment: we should only return two sort plan: - gather sort: require child's distribution is GATHER - merge sort: first stage require child's distribution is ANY, and second stage require is GATHER then, cost and enforce could generate right plan for the two type of sort. i think the main reason u use three types is easy for translation, right? so, we could have two type of sort. - LOCAL: translate to sort node - MERGE: merge sort info into its child exchange node. and, u could generate enforce require as AggregateStrategy do. -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #15509: [feature](partition)add default list partition
github-actions[bot] commented on PR #15509: URL: https://github.com/apache/doris/pull/15509#issuecomment-1429933776 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] hello-stephen commented on pull request #16763: [Fix](multi catalog)Fix partition case bug.
hello-stephen commented on PR #16763: URL: https://github.com/apache/doris/pull/16763#issuecomment-1429958280 TeamCity pipeline, clickbench performance test result: the sum of best hot time: 33.88 seconds stream load tsv: 468 seconds loaded 74807831229 Bytes, about 152 MB/s stream load json: 35 seconds loaded 2358488459 Bytes, about 64 MB/s stream load orc: 68 seconds loaded 1101869774 Bytes, about 15 MB/s stream load parquet: 28 seconds loaded 861443392 Bytes, about 29 MB/s https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230214154351_clickbench_pr_96442.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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16036: [feature] Support mutable property for partition
github-actions[bot] commented on PR #16036: URL: https://github.com/apache/doris/pull/16036#issuecomment-1429974417 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] github-actions[bot] commented on pull request #16734: [Opt](exec) opt aggreate function performance in nullable column
github-actions[bot] commented on PR #16734: URL: https://github.com/apache/doris/pull/16734#issuecomment-1430081440 clang-tidy review says "All clean, LGTM! :+1:" -- 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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org
[GitHub] [doris] luzhijing opened a new pull request, #16766: [docs](releasenote)1.2.2 release note
luzhijing opened a new pull request, #16766: URL: https://github.com/apache/doris/pull/16766 # Proposed changes Issue Number: close #xxx ## Problem summary Describe your changes. ## Checklist(Required) * [ ] Does it affect the original behavior * [ ] Has unit tests been added * [ ] Has document been added or modified * [ ] Does it need to update dependencies * [ ] Is this PR support rollback (If NO, please explain WHY) ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@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-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org