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 362f97b98aeeed5603965e29f87ea0d163e95828 Merge: f388dbc8d9 39ac77d88a Author: preetham0202 <[email protected]> AuthorDate: Thu Oct 23 20:14:26 2025 +0530 Merge branch 'gerrit/phoenix' into 'master' Change-Id: Ib9aab9747180152f456b1e330b209685ad38a402 .../org/apache/asterix/active/ActiveManager.java | 1 + .../optimizer/rules/PushFieldAccessRule.java | 13 +- .../optimizer/rules/cbo/EnumerateJoinsRule.java | 14 +- .../asterix/optimizer/rules/cbo/JoinNode.java | 107 ++-- .../apache/asterix/translator/ClientRequest.java | 4 + .../asterix/translator/IStatementExecutor.java | 33 +- .../apache/asterix/translator/ResultMetadata.java | 38 +- .../apache/asterix/translator/SessionConfig.java | 21 +- .../apache/asterix/api/common/APIFramework.java | 13 +- .../api/http/server/AbstractQueryApiServlet.java | 195 +++++++ .../api/http/server/NCQueryResultApiServlet.java | 61 +++ .../api/http/server/NCQueryServiceServlet.java | 7 +- .../api/http/server/NCQueryStatusApiServlet.java | 20 +- .../api/http/server/QueryResultApiServlet.java | 141 +++-- .../http/server/QueryServiceRequestParameters.java | 14 +- .../api/http/server/QueryServiceServlet.java | 156 +----- .../api/http/server/QueryStatusApiServlet.java | 115 +++- .../apache/asterix/api/http/server/ResultUtil.java | 21 + .../asterix/api/http/server/StorageApiServlet.java | 11 +- .../external/ExternalCredentialsCacheUpdater.java | 4 +- .../message/AbstractInternalRequestMessage.java | 2 + .../app/message/ClientInfoRequestMessage.java | 67 +++ .../app/message/ClientInfoResponseMessage.java | 50 ++ .../DiscardResultPartitionRequestMessage.java | 57 ++ .../app/message/DiscardResultRequestMessage.java | 62 +++ .../app/message/DiscardResultResponseMessage.java | 44 ++ .../message/ExecuteStatementRequestMessage.java | 32 +- .../app/message/StorageCleanupRequestMessage.java | 4 +- .../apache/asterix/app/nc/NCAppRuntimeContext.java | 4 +- .../org/apache/asterix/app/nc/RecoveryManager.java | 34 +- .../org/apache/asterix/app/nc/ReplicaManager.java | 37 +- .../nc/task/CloudToLocalStorageCachingTask.java | 14 +- .../asterix/app/nc/task/LocalRecoveryTask.java | 12 +- .../app/nc/task/LocalStorageCleanupTask.java | 5 +- .../asterix/app/nc/task/UpdateNodeStatusTask.java | 9 +- .../app/replication/NcLifecycleCoordinator.java | 13 +- .../message/NCLifecycleTaskReportMessage.java | 11 +- .../message/RegistrationTasksRequestMessage.java | 12 +- .../message/RegistrationTasksResponseMessage.java | 5 +- .../asterix/app/result/JobResultCallback.java | 3 + .../apache/asterix/app/result/ResultHandle.java | 75 ++- .../apache/asterix/app/result/ResultReader.java | 10 + .../app/result/fields/CreatedAtPrinter.java} | 35 +- .../asterix/app/result/fields/MetricsPrinter.java | 151 ++++-- .../asterix/app/result/fields/NcResultPrinter.java | 12 +- .../app/result/fields/PartitionInfoPrinter.java | 64 +++ .../app/result/fields/ResultCountPrinter.java} | 32 +- .../asterix/app/translator/QueryTranslator.java | 152 ++++-- .../asterix/hyracks/bootstrap/CCApplication.java | 9 + .../asterix/hyracks/bootstrap/NCApplication.java | 17 +- .../apache/asterix/messaging/CCMessageBroker.java | 9 + .../apache/asterix/utils/AsyncRequestsAPIUtil.java | 151 ++++++ .../org/apache/asterix/utils/RedactionUtil.java | 2 +- .../asterix/runtime/ClusterStateManagerTest.java | 7 +- .../asterix/test/common/ResultExtractor.java | 7 +- .../apache/asterix/test/common/TestExecutor.java | 55 +- .../dataflow/GlobalVirtualBufferCacheTest.java | 100 ++++ .../async-compilation-failed.1.async.sqlpp | 1 - .../async-exhausted-result.1.async.sqlpp | 1 - .../async-exhausted-result.2.pollget.http} | 6 +- .../async-exhausted-result.3.get.http} | 4 +- .../async-exhausted-result.4.delete.http} | 4 +- .../async-exhausted-result.5.get.http} | 4 +- .../async-failed/async-failed.1.async.sqlpp | 1 - .../async-failed/async-failed.2.pollget.http} | 5 +- .../async-json/async-json.1.async.sqlpp | 1 - .../async-json/async-json.2.pollget.http} | 5 +- .../async-json/async-json.3.get.http} | 6 +- .../async-repeated/async-repeated.1.async.sqlpp | 1 - .../async-repeated/async-repeated.2.pollget.http} | 5 +- .../async-repeated/async-repeated.3.get.http} | 4 +- .../async-repeated/async-repeated.4.get.http} | 4 +- .../async-repeated/async-repeated.5.query.sqlpp} | 2 - .../async-running/async-running.1.async.sqlpp | 1 - .../async-running/async-running.2.pollget.http} | 4 +- .../async-running/async-running.3.pollget.http} | 5 +- .../async-running/async-running.4.get.http} | 4 +- .../async-timeout}/async.1.async.sqlpp | 4 +- .../async-timeout/async.2.pollget.http} | 4 +- .../async/async.1.async.sqlpp | 1 - .../async/async.2.pollget.http} | 5 +- .../async/async.3.get.http} | 4 +- .../deferred/deferred.1.deferred.sqlpp} | 3 +- .../deferred/deferred.2.get.http} | 4 +- .../async-deferred/AsyncDeferredQueries.xml | 52 ++ .../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 + .../parquet-error-checks.23.ddl.sqlpp | 1 + .../parquet-null1.01.ddl.sqlpp} | 3 + .../parquet-null1.02.update.sqlpp} | 25 +- .../parquet-null1.03.ddl.sqlpp} | 15 +- .../parquet-null1/parquet-null1.04.query.sqlpp} | 7 +- .../parquet-null2.01.ddl.sqlpp} | 5 +- .../parquet-null2.02.update.sqlpp} | 17 +- .../parquet-null2.03.ddl.sqlpp} | 15 +- .../parquet-null2/parquet-null2.04.query.sqlpp} | 7 +- .../parquet-simple/parquet-simple.01.ddl.sqlpp | 2 + .../parquet-simple/parquet-simple.02.update.sqlpp | 4 +- .../queries_sqlpp/flwor/at00/at00.6.async.sqlpp | 1 + .../async-compilation-failed.1.regex | 2 + .../async-exhausted-result.1.ignore | 0 .../async-exhausted-result.2.regexjson | 8 + .../async-exhausted-result.3.regexjson | 17 + .../async-exhausted-result.4.ignore | 17 + .../async-failed/async-failed.1.ignore | 0 .../async-failed/async-failed.2.regex | 2 + .../async-json/async-json.1.ignore | 0 .../async-json/async-json.2.regexjson | 8 + .../async-json/async-json.3.json | 5 + .../async-repeated/async-repeated.1.ignore | 0 .../async-repeated/async-repeated.2.regexjson | 8 + .../async-repeated/async-repeated.3.regexjson | 17 + .../async-repeated/async-repeated.4.regexjson | 17 + .../async-repeated/async-repeated.5.json | 10 + .../async-running/async-running.1.ignore | 0 .../async-running/async-running.2.json | 3 + .../async-running/async-running.3.regexjson | 8 + .../async-running/async-running.4.regexjson | 8 + .../async-timeout/async-timeout.1.ignore | 0 .../async-timeout/async-timeout.2.regex | 3 + .../async-deferred-improved/async/async.1.ignore | 0 .../async/async.2.regexjson | 8 + .../async/async.3.regexjson | 17 + .../deferred/deferred.1.ignore | 0 .../deferred/deferred.2.regexjson | 17 + .../copy-to/parquet-null1/parquet-null1.04.adm | 2 + .../copy-to/parquet-null2/parquet-null2.04.adm | 3 + .../single-collection-queries.3.plan | 26 +- .../single-collection-queries.4.plan | 26 +- .../single-collection-queries.7.plan | 30 +- .../runtimets/testsuite_external_dataset_s3.xml | 21 +- .../resources/runtimets/testsuite_sqlpp_hdfs.xml | 1 - .../asterix/cloud/AbstractCloudIOManager.java | 12 +- .../asterix/cloud/LocalPartitionBootstrapper.java | 4 +- .../cloud/clients/aws/s3/S3ClientConfig.java | 22 +- .../cloud/clients/aws/s3/S3ParallelDownloader.java | 2 +- .../blobstorage/AzBlobStorageClientConfig.java | 2 +- .../blobstorage/AzBlobStorageCloudClient.java | 101 ++-- .../cloud/lazy/accessor/InitialCloudAccessor.java | 5 +- .../lazy/accessor/ReplaceableCloudAccessor.java | 5 +- .../lazy/accessor/SelectiveCloudAccessor.java | 4 +- .../apache/asterix/cloud/util/CloudFileUtil.java | 1 - .../writer/AzureExternalFileWriterFactory.java | 2 +- .../cloud/writer/S3ExternalFileWriterFactory.java | 4 +- .../org/apache/asterix/cloud/s3/LSMS3Test.java | 2 +- .../lsm/flush/FlushColumnTupleWriter.java | 14 +- .../apache/asterix/common/api/IRequestTracker.java | 8 + .../common/cloud/IPartitionBootstrapper.java | 4 +- .../common/cluster/IClusterStateManager.java | 3 +- .../cluster/StorageComputePartitionsMap.java | 7 +- .../asterix/common/config/CloudProperties.java | 75 +-- .../asterix/common/config/MetadataProperties.java | 4 +- .../asterix/common/config/PropertiesAccessor.java | 7 +- .../common/context/DatasetLifecycleManager.java | 19 +- .../common/context/GlobalVirtualBufferCache.java | 6 +- .../common/messaging/api/ICCMessageBroker.java | 8 + .../asterix/common/storage/IReplicaManager.java | 10 +- .../common/transactions/IRecoveryManager.java | 8 +- .../org/apache/asterix/common/utils/Datasets.java | 105 ++++ .../asterix/common/utils/IntSortedBitSet.java | 234 +++++++++ .../org/apache/asterix/common/utils/IntUtil.java | 119 +++++ .../org/apache/asterix/common/utils/MathUtil.java | 53 ++ .../apache/asterix/common/utils/Partitions.java | 240 +++++++++ .../asterix/common/utils/ShortSortedBitSet.java | 235 +++++++++ .../org/apache/asterix/common/utils/ShortUtil.java | 122 +++++ .../apache/asterix/test/utils/MathUtilTest.java | 79 +++ .../asterix/test/utils/ShortSortedBitSetTest.java | 108 ++++ .../apache/asterix/external/api/IDataParser.java | 13 +- .../asterix/external/api/IRecordConverter.java | 8 +- .../dataflow/FeedRecordDataFlowController.java | 2 + .../external/input/HDFSDataSourceFactory.java | 3 +- .../input/record/reader/aws/AwsS3InputStream.java | 9 +- .../reader/aws/delta/AwsS3DeltaReaderFactory.java | 2 +- .../aws/parquet/AwsS3ParquetReaderFactory.java | 2 +- .../asterix/external/util/ExternalDataUtils.java | 11 +- .../asterix/external/util/aws/AwsConstants.java | 42 ++ .../apache/asterix/external/util/aws/AwsUtils.java | 286 ++++++++++ .../asterix/external/util/aws/s3/S3AuthUtils.java | 577 --------------------- .../asterix/external/util/aws/s3/S3Constants.java | 16 - .../asterix/external/util/aws/s3/S3Utils.java | 313 ++++++++++- .../util/azure/blob_storage/AzureConstants.java | 2 +- .../util/azure/blob_storage/AzureUtils.java | 21 +- .../writer/HDFSExternalFileWriterFactory.java | 2 +- .../writer/printer/parquet/ParquetSchemaTree.java | 21 +- .../printer/parquet/SchemaCheckerLazyVisitor.java | 6 +- .../input/record/reader/awss3/AwsS3Test.java | 4 +- .../metadata/declared/MetadataProvider.java | 8 + .../apache/asterix/metadata/utils/DatasetUtil.java | 6 +- .../replication/logging/RemoteLogsNotifier.java | 7 +- .../replication/sync/ReplicaSynchronizer.java | 4 +- .../asterix/runtime/utils/ClusterStateManager.java | 12 +- .../asterix/runtime/utils/RequestTracker.java | 18 + .../PersistentLocalResourceRepository.java | 11 +- asterixdb/pom.xml | 16 +- ...ReplacementsAwareJavaSerializationProvider.java | 82 +++ .../api/result/IResultPartitionManager.java | 3 +- .../org/apache/hyracks/api/result/IResultSet.java | 3 + .../hyracks/api/result/IResultSetReader.java | 2 + .../hyracks/api/result/ResultDirectoryRecord.java | 23 +- .../apache/hyracks/api/result/ResultJobRecord.java | 22 +- .../hyracks/api/util/JavaSerializationUtils.java | 39 +- .../client/result/PartitionResultSetReader.java | 112 ++++ .../apache/hyracks/client/result/ResultSet.java | 13 + .../hyracks/client/result/ResultSetReader.java | 49 +- .../hyracks/control/cc/ClusterControllerIPCI.java | 4 +- .../control/cc/result/IResultDirectoryService.java | 6 +- .../control/cc/result/ResultDirectoryService.java | 24 +- .../control/cc/work/GetResultMetadataWork.java | 3 - .../work/RegisterResultPartitionLocationWork.java | 7 +- .../ReportResultPartitionWriteCompletionWork.java | 7 +- .../control/common/base/IClusterController.java | 5 +- .../hyracks/control/common/ipc/CCNCFunctions.java | 19 +- .../common/ipc/ClusterControllerRemoteProxy.java | 10 +- .../control/nc/result/ResultPartitionManager.java | 9 +- .../control/nc/result/ResultPartitionWriter.java | 9 +- .../hyracks/control/nc/result/ResultState.java | 9 +- .../std/util/ByteArrayAccessibleOutputStream.java | 18 + .../hyracks/hyracks-dataflow-std/pom.xml | 1 - .../std/result/ResultWriterOperatorDescriptor.java | 2 + .../apache/hyracks/http/server/utils/HttpUtil.java | 6 +- .../dataflow/IndexDropOperatorNodePushable.java | 2 +- .../storage/am/lsm/common/impls/LSMHarness.java | 31 +- .../apache/hyracks/util/ThrowingIOFunction.java | 20 +- 228 files changed, 4886 insertions(+), 1602 deletions(-) diff --cc asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java index 230d6fb662,5e4706c8a8..4da12b4f98 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java @@@ -5518,8 -5529,9 +5534,9 @@@ public class QueryTranslator extends Ab afterCompile(); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); stats.setCompileTime(System.nanoTime() - compileStart); + resultMetadata.setCompileTime(stats.getCompileTime()); bActiveTxn = false; - return query.isExplain() || isCompileOnly() ? null : jobSpec; + return query.isExplain() || query.isAdvise() || isCompileOnly() ? null : jobSpec; } catch (Exception e) { LOGGER.log(Level.INFO, e.getMessage(), e); if (bActiveTxn) {
