This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 88db56e51b5c275b08266ba946408793105fc5d6 Merge: e9f5a289a4 955768e37f Author: Michael Blow <[email protected]> AuthorDate: Thu Nov 6 10:22:12 2025 -0500 Merge branch 'gerrit/phoenix' into 'master' * [ASTERIXDB-3667][OTH] Log counts of currently running jobs based on kind (MB-69127) * [ASTERIXDB-3662][EXT]: Add external stats tracker (MB-68345) * [NO ISSUE][COMP] Fix for failing q10 of ch2++ (MB-69019) * [ASTERIXDB-3649][*DB] Improve async request API (MB-60882) * [ASTERIXDB-3649][*DB] Async request API backward compatibility fixes (MB-60882) * [NO ISSUE][EXT]: ensure CSV header is written in all files (MB-69147) * [ASTERIXDB-3664]: Simplify function name handling in EntityDetails (MB-68413) Change-Id: Ibdb5291f93838db7f40a7532d23974d9021dbeb3 .../asterix/optimizer/base/AnalysisUtil.java | 4 +- .../optimizer/rules/cbo/EnumerateJoinsRule.java | 123 ++++++++++++++++++--- .../apache/asterix/translator/ResultMetadata.java | 9 ++ .../api/http/server/NCQueryResultApiServlet.java | 5 +- .../http/server/QueryServiceRequestParameters.java | 4 +- .../api/http/server/QueryServiceServlet.java | 4 + .../api/http/server/QueryStatusApiServlet.java | 5 +- .../app/active/ActiveNotificationHandler.java | 6 +- .../asterix/app/active/FeedEventsListener.java | 7 +- .../asterix/app/cc/CcApplicationContext.java | 53 +++++---- .../org/apache/asterix/app/cc/GlobalTxManager.java | 4 +- .../app/external/ExternalLibraryJobUtils.java | 8 +- .../asterix/app/external/ExternalStatsTracker.java | 65 +++++++++++ .../app/message/DiscardResultRequestMessage.java | 14 +-- .../app/message/DiscardResultResponseMessage.java | 44 -------- .../apache/asterix/app/nc/NCAppRuntimeContext.java | 13 ++- .../asterix/app/result/JobResultCallback.java | 1 + .../asterix/app/result/fields/MetricsPrinter.java | 3 +- .../app/result/fields/PartitionInfoPrinter.java | 9 +- .../asterix/app/translator/QueryTranslator.java | 56 +++++----- .../org/apache/asterix/utils/DataverseUtil.java | 3 + .../org/apache/asterix/utils/RebalanceUtil.java | 3 + .../asterix/test/active/ActiveStatsTest.java | 3 +- .../test/active/TestClusterControllerActor.java | 4 +- .../async-exhausted-result.1.async.sqlpp | 1 + .../async-failed/async-failed.1.async.sqlpp | 1 + .../async-json/async-json.1.async.sqlpp | 1 + .../async-json/async-json.4.ddl.sqlpp} | 17 ++- .../async-json/async-json.5.update.sqlpp} | 13 ++- .../async-json.6.async.sqlpp} | 7 +- .../async-json.7.pollget.http} | 6 +- .../async-json.8.get.http} | 5 +- .../async-repeated/async-repeated.1.async.sqlpp | 1 + .../async-running/async-running.1.async.sqlpp | 1 + .../async-timeout/async.1.async.sqlpp | 1 + .../async/async.1.async.sqlpp | 1 + .../async-compilation-failed.1.async.sqlpp | 1 - .../async-exhausted-result.1.async.sqlpp | 1 - .../async-failed/async-failed.1.async.sqlpp | 1 - .../async-json/async-json.1.async.sqlpp | 1 - .../async-repeated/async-repeated.1.async.sqlpp | 1 - .../async-running/async-running.1.async.sqlpp | 1 - .../async-deferred/async/async.1.async.sqlpp | 1 - .../async-exhausted-result.2.regexjson | 1 + .../async-json/async-json.2.regexjson | 1 + .../async-json/async-json.6.ignore | 0 .../async-json.7.regexjson} | 3 +- .../async-json/async-json.8.json | 4 + .../async-repeated/async-repeated.2.regexjson | 1 + .../async-running/async-running.3.regexjson | 1 + .../async/async.2.regexjson | 1 + .../writer/AbstractCloudExternalFileWriter.java | 1 + .../asterix/common/api/IApplicationContext.java | 3 + .../apache/asterix/common/api/IRequestTracker.java | 16 +++ .../common/external/IExternalCredentialsCache.java | 45 -------- ...acheUpdater.java => IExternalStatsTracker.java} | 18 +-- .../asterix/common/utils/AsterixJobProperty.java} | 11 +- .../apache/asterix/external/util/aws/AwsUtils.java | 17 +++ .../external/writer/HDFSExternalFileWriter.java | 1 + .../external/writer/LocalFSExternalFileWriter.java | 1 + .../printer/AbstractTextualExternalPrinter.java | 5 + .../asterix/metadata/entities/EntityDetails.java | 6 +- .../apache/asterix/metadata/utils/DatasetUtil.java | 9 +- .../apache/asterix/metadata/utils/IndexUtil.java | 18 ++- .../printers/csv/ARecordPrinterFactory.java | 5 + .../om/pointables/printer/ARecordPrinter.java | 5 + .../pointables/printer/AbstractPrintVisitor.java | 2 +- .../pointables/printer/csv/ACSVRecordPrinter.java | 27 ++--- .../om/pointables/printer/csv/APrintVisitor.java | 21 ++++ .../asterix/runtime/writer/IExternalPrinter.java | 6 + .../physical/AbstractExchangePOperator.java | 6 + .../physical/AbstractRangeExchangePOperator.java | 7 ++ ...alBroadcastRangeIntersectExchangePOperator.java | 7 ++ .../apache/hyracks/algebricks/data/IPrinter.java | 3 + ...PushNestedOrderByUnderPreSortedGroupByRule.java | 2 +- .../apache/hyracks/api/job/HyracksJobProperty.java | 8 +- .../org/apache/hyracks/api/job/IJobProperty.java | 9 +- .../java/org/apache/hyracks/api/job/JobKind.java | 14 ++- .../apache/hyracks/api/job/JobSpecification.java | 10 +- .../api/result/IResultPartitionManager.java | 2 +- .../hyracks/api/result/ResultDirectoryRecord.java | 6 +- .../apache/hyracks/api/result/ResultJobRecord.java | 8 +- .../apache/hyracks/control/cc/job/JobManager.java | 45 +++++++- .../control/cc/result/IResultDirectoryService.java | 2 +- .../control/cc/result/ResultDirectoryService.java | 9 +- .../ReportResultPartitionWriteCompletionWork.java | 4 +- .../control/common/base/IClusterController.java | 2 +- .../hyracks/control/common/ipc/CCNCFunctions.java | 6 +- .../common/ipc/ClusterControllerRemoteProxy.java | 2 +- .../control/nc/result/ResultPartitionManager.java | 2 +- .../control/nc/result/ResultPartitionWriter.java | 2 +- .../hyracks/control/nc/result/ResultState.java | 10 +- 92 files changed, 607 insertions(+), 300 deletions(-) diff --cc asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java index 08623bf40b,0d0c984879..d053c19638 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java @@@ -112,11 -112,10 +119,12 @@@ public class EnumerateJoinsRule impleme private int numberOfFromTerms; private List<Triple<ILogicalOperator, ILogicalOperator, List<ILogicalOperator>>> modifyUnnestInfo; + // The first is the parent, the second is the current operator (LOJ), and the third is the third list from UnnestOpsInfo + private final Map<DataSourceScanOperator, Boolean> fakeLeafInputsMap = new HashMap(); - ILogicalOperator newRootAfterUnnest = null; + private ILogicalOperator newRootAfterUnnest = null; + + private IIndexProvider indexProvider; public EnumerateJoinsRule(JoinEnum joinEnum) { this.joinEnum = joinEnum;
