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 {

Reply via email to