You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2024/01/19 18:09:14 UTC
(asterixdb) 05/05: Merge branch 'gerrit/trinity' into 'master'
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 <mi...@couchbase.com>
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 {