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 f6dde83a9d11844e99ba448a2fb777a8b1462f2b Merge: 07074eab85 9ffb423df3 Author: Michael Blow <[email protected]> AuthorDate: Thu Jun 5 07:51:39 2025 -0400 Merge branch 'gerrit/trinity' into 'gerrit/ionic' Ext-ref: MB-66663,MB-66818 Change-Id: Iae698ac197d9148b5f29c8c77249d71d60021857 .../http/server/QueryServiceRequestParameters.java | 9 ++-- .../input/record/reader/aws/AwsS3InputStream.java | 3 +- .../reader/azure/blob/AzureBlobInputStream.java | 3 +- .../azure/datalake/AzureDataLakeInputStream.java | 3 +- .../input/record/reader/gcs/GCSInputStream.java | 3 +- .../record/reader/stream/AvailableInputStream.java | 57 ++++++++++++++++++++++ .../apache/hyracks/control/cc/job/JobManager.java | 7 +-- .../VariableDeletableTupleMemoryManager.java | 4 +- .../std/group/HashSpillableTableFactory.java | 12 ++--- .../OptimizedHybridHashJoinOperatorDescriptor.java | 47 ++++++------------ .../std/sort/AbstractExternalSortRunMerger.java | 13 ++--- 11 files changed, 99 insertions(+), 62 deletions(-) diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/aws/AwsS3InputStream.java index a9f12341ff,6b921ac026..60205ece05 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/aws/AwsS3InputStream.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/aws/AwsS3InputStream.java @@@ -31,10 -29,10 +31,11 @@@ import org.apache.asterix.common.api.IA import org.apache.asterix.common.exceptions.CompilationException; import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.exceptions.RuntimeDataException; +import org.apache.asterix.external.input.filter.embedder.IExternalFilterValueEmbedder; import org.apache.asterix.external.input.record.reader.abstracts.AbstractExternalInputStream; + import org.apache.asterix.external.input.record.reader.stream.AvailableInputStream; import org.apache.asterix.external.util.ExternalDataConstants; -import org.apache.asterix.external.util.aws.s3.S3Utils; +import org.apache.asterix.external.util.aws.s3.S3AuthUtils; import org.apache.commons.lang3.StringUtils; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.util.CleanupUtils; diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/azure/blob/AzureBlobInputStream.java index db4fdb0b7d,bf2a717de6..b952495e7a --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/azure/blob/AzureBlobInputStream.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/azure/blob/AzureBlobInputStream.java @@@ -30,8 -30,8 +30,9 @@@ import org.apache.asterix.common.api.IA import org.apache.asterix.common.exceptions.CompilationException; import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.exceptions.RuntimeDataException; +import org.apache.asterix.external.input.filter.embedder.IExternalFilterValueEmbedder; import org.apache.asterix.external.input.record.reader.abstracts.AbstractExternalInputStream; + import org.apache.asterix.external.input.record.reader.stream.AvailableInputStream; import org.apache.asterix.external.util.ExternalDataConstants; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.util.LogRedactionUtil; diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/azure/datalake/AzureDataLakeInputStream.java index 9b160265f2,ce6c0e13aa..b13213d6db --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/azure/datalake/AzureDataLakeInputStream.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/azure/datalake/AzureDataLakeInputStream.java @@@ -30,8 -30,8 +30,9 @@@ import org.apache.asterix.common.api.IA import org.apache.asterix.common.exceptions.CompilationException; import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.exceptions.RuntimeDataException; +import org.apache.asterix.external.input.filter.embedder.IExternalFilterValueEmbedder; import org.apache.asterix.external.input.record.reader.abstracts.AbstractExternalInputStream; + import org.apache.asterix.external.input.record.reader.stream.AvailableInputStream; import org.apache.asterix.external.util.ExternalDataConstants; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.util.LogRedactionUtil; diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/gcs/GCSInputStream.java index 1ef3fcde9c,7d3fb2f0a0..307028a371 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/gcs/GCSInputStream.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/gcs/GCSInputStream.java @@@ -31,10 -30,10 +31,11 @@@ import org.apache.asterix.common.api.IA import org.apache.asterix.common.exceptions.CompilationException; import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.exceptions.RuntimeDataException; +import org.apache.asterix.external.input.filter.embedder.IExternalFilterValueEmbedder; import org.apache.asterix.external.input.record.reader.abstracts.AbstractExternalInputStream; + import org.apache.asterix.external.input.record.reader.stream.AvailableInputStream; import org.apache.asterix.external.util.ExternalDataConstants; -import org.apache.asterix.external.util.google.gcs.GCSUtils; +import org.apache.asterix.external.util.google.gcs.GCSAuthUtils; import org.apache.commons.lang3.StringUtils; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.util.CleanupUtils; diff --cc hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java index e4a5c8600f,f3aebd5062..d79af7960a --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java @@@ -525,13 -530,10 +525,10 @@@ public class OptimizedHybridHashJoinOpe && !isLeftOuter))) { int tabSize = -1; - if (!forceRoleReversal && (isLeftOuter || (buildPartSize < probePartSize))) { + if ((isLeftOuter || (buildPartSize < probePartSize))) { //Case 1.1 - InMemHJ (without Role-Reversal) - if (LOGGER.isTraceEnabled()) { - LOGGER.trace( - "\t>>>Case 1.1 (IsLeftOuter || buildSize<probe) AND ApplyInMemHJ - [Level {}]", - level); - } + LOGGER.trace("\t>>>Case 1.1 (IsLeftOuter || buildSize<probe) AND ApplyInMemHJ - [Level {}]", + level); tabSize = buildSizeInTuple; if (tabSize == 0) { throw new HyracksDataException( @@@ -558,16 -558,12 +553,12 @@@ } //Apply (Recursive) HHJ else { - if (LOGGER.isTraceEnabled()) { - LOGGER.trace("\t>>>Case 2. ApplyRecursiveHHJ - [Level {}]", level); - } + LOGGER.trace("\t>>>Case 2. ApplyRecursiveHHJ - [Level {}]", level); - if (!forceRoleReversal && (isLeftOuter || buildPartSize < probePartSize)) { + if ((isLeftOuter || buildPartSize < probePartSize)) { //Case 2.1 - Recursive HHJ (without Role-Reversal) - if (LOGGER.isTraceEnabled()) { - LOGGER.trace( - "\t\t>>>Case 2.1 - RecursiveHHJ WITH (isLeftOuter || build<probe) - [Level {}]", - level); - } + LOGGER.trace( + "\t\t>>>Case 2.1 - RecursiveHHJ WITH (isLeftOuter || build<probe) - [Level {}]", + level); applyHybridHashJoin((int) buildPartSize, PROBE_REL, BUILD_REL, probeKeys, buildKeys, probeRd, buildRd, probeHpc, buildHpc, probeSideReader, buildSideReader, level, beforeMax, probComp); @@@ -639,13 -633,11 +628,11 @@@ int afterMax = Math.max(maxAfterBuildSize, maxAfterProbeSize); BitSet rPStatus = rHHj.getPartitionStatus(); - if (!forceNLJ && (afterMax < (NLJ_SWITCH_THRESHOLD * beforeMax))) { + if ((afterMax < (NLJ_SWITCH_THRESHOLD * beforeMax))) { //Case 2.1.1 - Keep applying HHJ - if (LOGGER.isTraceEnabled()) { - LOGGER.trace( - "\t\t>>>Case 2.1.1 - KEEP APPLYING RecursiveHHJ WITH (isLeftOuter || build<probe) - [Level {}]", - level); - } + LOGGER.trace( + "\t\t>>>Case 2.1.1 - KEEP APPLYING RecursiveHHJ WITH (isLeftOuter || build<probe) - [Level {}]", + level); for (int rPid = rPStatus.nextSetBit(0); rPid >= 0; rPid = rPStatus.nextSetBit(rPid + 1)) { RunFileReader rbrfw = rHHj.getBuildRFReader(rPid); RunFileReader rprfw = rHHj.getProbeRFReader(rPid);
