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 47b1990a81ae26be1d5f1405890f27e6f6439a35 Merge: 0f54b575bb c566be3857 Author: Michael Blow <[email protected]> AuthorDate: Fri Jan 19 10:46:45 2024 -0500 Merge branch 'gerrit/trinity' into 'master' Change-Id: Iaa525ccf3067e52a0b6a645d50dd94006fa11d54 .../app/function/TPCDSAllTablesDataGeneratorDatasource.java | 2 +- .../app/function/TPCDSSingleTableDataGeneratorDatasource.java | 2 +- .../org/apache/asterix/common/cluster/IClusterStateManager.java | 5 +++++ .../reader/abstracts/AbstractExternalInputStreamFactory.java | 4 ++-- .../src/main/java/org/apache/asterix/external/util/HDFSUtils.java | 2 +- .../org/apache/asterix/metadata/declared/FunctionDataSource.java | 8 +++----- .../org/apache/asterix/runtime/utils/ClusterStateManager.java | 7 +++++++ 7 files changed, 20 insertions(+), 10 deletions(-) diff --cc asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java index 343a23d20d,fa623929dd..ffa6c872f1 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java @@@ -170,8 -171,14 +170,13 @@@ public interface IClusterStateManager */ AlgebricksAbsolutePartitionConstraint getClusterLocations(); + /** + * @return the constraint representing all the partitions of the cluster sorted by node name + */ + AlgebricksAbsolutePartitionConstraint getSortedClusterLocations(); + /** - * @param excludePendingRemoval - * true, if the desired set shouldn't have pending removal nodes + * @param excludePendingRemoval true, if the desired set shouldn't have pending removal nodes * @return the set of participant nodes */ Set<String> getParticipantNodes(boolean excludePendingRemoval); diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/abstracts/AbstractExternalInputStreamFactory.java index a1d5d0aa76,9760c55a68..ac8859bd6e --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/abstracts/AbstractExternalInputStreamFactory.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/abstracts/AbstractExternalInputStreamFactory.java @@@ -67,19 -67,11 +67,19 @@@ public abstract class AbstractExternalI } @Override - public void configure(IServiceContext ctx, Map<String, String> configuration, IWarningCollector warningCollector) - throws AlgebricksException { + public void configure(IServiceContext ctx, Map<String, String> configuration, IWarningCollector warningCollector, + IExternalFilterEvaluatorFactory filterEvaluatorFactory) throws AlgebricksException, HyracksDataException { this.configuration = configuration; - this.partitionConstraint = - ((ICcApplicationContext) ctx.getApplicationContext()).getClusterStateManager().getClusterLocations(); + this.partitionConstraint = ((ICcApplicationContext) ctx.getApplicationContext()).getClusterStateManager() + .getSortedClusterLocations(); + this.filterEvaluatorFactory = filterEvaluatorFactory; + } + + @Override + public IExternalDataRuntimeContext createExternalDataRuntimeContext(IHyracksTaskContext context, int partition) { + IExternalFilterValueEmbedder valueEmbedder = + filterEvaluatorFactory.createValueEmbedder(context.getWarningCollector()); + return new ExternalStreamRuntimeDataContext(context, partition, valueEmbedder); } public static class PartitionWorkLoadBasedOnSize implements Serializable {
