This is an automated email from the ASF dual-hosted git repository.

karan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 73cbce9109e WindowOperatorQueryFrameProcessorFactory: Pass 
QueryContext instead of WindowOperatorQuery to 
WindowOperatorQueryFrameProcessor (#17405)
73cbce9109e is described below

commit 73cbce9109e8c100c713dbb78d845a1fee227ede
Author: Akshat Jain <[email protected]>
AuthorDate: Thu Nov 7 11:29:49 2024 +0530

    WindowOperatorQueryFrameProcessorFactory: Pass QueryContext instead of 
WindowOperatorQuery to WindowOperatorQueryFrameProcessor (#17405)
    
    * WindowOperatorQueryKit: Pass QueryContext instead of WindowOperatorQuery 
to subsequent layers
    
    * Add serializer for QueryContext class
    
    * Revert changes of WindowOperatorQueryFrameProcessorFactory json param
    
    * Fix checkstyle
    
    * Address review comment: Remove older method in favor of calling new 
method inline
---
 .../main/java/org/apache/druid/msq/querykit/QueryKitUtils.java    | 8 ++++----
 .../druid/msq/querykit/WindowOperatorQueryFrameProcessor.java     | 8 ++++----
 .../msq/querykit/WindowOperatorQueryFrameProcessorFactory.java    | 2 +-
 .../msq/querykit/groupby/GroupByPostShuffleFrameProcessor.java    | 2 +-
 .../apache/druid/msq/querykit/scan/ScanQueryFrameProcessor.java   | 2 +-
 .../druid/msq/querykit/WindowOperatorQueryFrameProcessorTest.java | 6 +++---
 6 files changed, 14 insertions(+), 14 deletions(-)

diff --git 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/QueryKitUtils.java
 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/QueryKitUtils.java
index e5f2a0152fd..bc0c64c251a 100644
--- 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/QueryKitUtils.java
+++ 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/QueryKitUtils.java
@@ -34,7 +34,7 @@ import 
org.apache.druid.java.util.common.granularity.PeriodGranularity;
 import org.apache.druid.math.expr.ExprMacroTable;
 import org.apache.druid.msq.indexing.error.ColumnNameRestrictedFault;
 import org.apache.druid.msq.indexing.error.MSQException;
-import org.apache.druid.query.Query;
+import org.apache.druid.query.QueryContext;
 import org.apache.druid.query.expression.TimestampFloorExprMacro;
 import org.apache.druid.segment.VirtualColumn;
 import org.apache.druid.segment.column.ColumnType;
@@ -191,11 +191,11 @@ public class QueryKitUtils
    * @throws IllegalArgumentException if the provided granularity is not 
supported
    */
   @Nullable
-  public static VirtualColumn makeSegmentGranularityVirtualColumn(final 
ObjectMapper jsonMapper, final Query<?> query)
+  public static VirtualColumn makeSegmentGranularityVirtualColumn(final 
ObjectMapper jsonMapper, final QueryContext queryContext)
   {
     final Granularity segmentGranularity =
-        QueryKitUtils.getSegmentGranularityFromContext(jsonMapper, 
query.getContext());
-    final String timeColumnName = 
query.context().getString(QueryKitUtils.CTX_TIME_COLUMN_NAME);
+        QueryKitUtils.getSegmentGranularityFromContext(jsonMapper, 
queryContext.asMap());
+    final String timeColumnName = 
queryContext.getString(QueryKitUtils.CTX_TIME_COLUMN_NAME);
 
     if (timeColumnName == null || 
Granularities.ALL.equals(segmentGranularity)) {
       return null;
diff --git 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessor.java
 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessor.java
index b3bcf899ec1..41c1df884f9 100644
--- 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessor.java
+++ 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessor.java
@@ -39,6 +39,7 @@ import org.apache.druid.java.util.common.logger.Logger;
 import org.apache.druid.msq.indexing.error.MSQException;
 import org.apache.druid.msq.indexing.error.TooManyRowsInAWindowFault;
 import org.apache.druid.msq.util.MultiStageQueryContext;
+import org.apache.druid.query.QueryContext;
 import org.apache.druid.query.operator.AbstractPartitioningOperatorFactory;
 import org.apache.druid.query.operator.AbstractSortOperatorFactory;
 import org.apache.druid.query.operator.GlueingPartitioningOperatorFactory;
@@ -46,7 +47,6 @@ import org.apache.druid.query.operator.OffsetLimit;
 import org.apache.druid.query.operator.Operator;
 import org.apache.druid.query.operator.OperatorFactory;
 import org.apache.druid.query.operator.PartitionSortOperatorFactory;
-import org.apache.druid.query.operator.WindowOperatorQuery;
 import org.apache.druid.query.rowsandcols.ConcatRowsAndColumns;
 import org.apache.druid.query.rowsandcols.LazilyDecoratedRowsAndColumns;
 import org.apache.druid.query.rowsandcols.RowsAndColumns;
@@ -87,7 +87,7 @@ public class WindowOperatorQueryFrameProcessor implements 
FrameProcessor<Object>
   final AtomicInteger rowId = new AtomicInteger(0);
 
   public WindowOperatorQueryFrameProcessor(
-      WindowOperatorQuery query,
+      QueryContext queryContext,
       ReadableFrameChannel inputChannel,
       WritableFrameChannel outputChannel,
       FrameWriterFactory frameWriterFactory,
@@ -100,7 +100,7 @@ public class WindowOperatorQueryFrameProcessor implements 
FrameProcessor<Object>
     this.outputChannel = outputChannel;
     this.frameWriterFactory = frameWriterFactory;
     this.resultRowAndCols = new ArrayList<>();
-    this.maxRowsMaterialized = 
MultiStageQueryContext.getMaxRowsMaterializedInWindow(query.context());
+    this.maxRowsMaterialized = 
MultiStageQueryContext.getMaxRowsMaterializedInWindow(queryContext);
     this.operatorFactoryList = 
getOperatorFactoryListForStageDefinition(operatorFactoryList);
     this.frameRowsAndColsBuilder = new 
RowsAndColumnsBuilder(this.maxRowsMaterialized);
 
@@ -110,7 +110,7 @@ public class WindowOperatorQueryFrameProcessor implements 
FrameProcessor<Object>
     this.partitionBoostVirtualColumn = new 
SettableLongVirtualColumn(QueryKitUtils.PARTITION_BOOST_COLUMN);
     final List<VirtualColumn> frameWriterVirtualColumns = new ArrayList<>();
     final VirtualColumn segmentGranularityVirtualColumn =
-        QueryKitUtils.makeSegmentGranularityVirtualColumn(jsonMapper, query);
+        QueryKitUtils.makeSegmentGranularityVirtualColumn(jsonMapper, 
queryContext);
     if (segmentGranularityVirtualColumn != null) {
       frameWriterVirtualColumns.add(segmentGranularityVirtualColumn);
     }
diff --git 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorFactory.java
 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorFactory.java
index 68f6f564774..97da2db6b64 100644
--- 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorFactory.java
+++ 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorFactory.java
@@ -156,7 +156,7 @@ public class WindowOperatorQueryFrameProcessorFactory 
extends BaseFrameProcessor
               
outputChannels.get(readableInput.getStagePartition().getPartitionNumber());
 
           return new WindowOperatorQueryFrameProcessor(
-              query,
+              query.context(),
               readableInput.getChannel(),
               outputChannel.getWritableChannel(),
               
stageDefinition.createFrameWriterFactory(outputChannel.getFrameMemoryAllocator(),
 removeNullBytes),
diff --git 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPostShuffleFrameProcessor.java
 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPostShuffleFrameProcessor.java
index 5b0a3ddefd2..e9783b8366c 100644
--- 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPostShuffleFrameProcessor.java
+++ 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPostShuffleFrameProcessor.java
@@ -321,7 +321,7 @@ public class GroupByPostShuffleFrameProcessor implements 
FrameProcessor<Object>
 
     virtualColumns.add(partitionBoostVirtualColumn);
     final VirtualColumn segmentGranularityVirtualColumn =
-        QueryKitUtils.makeSegmentGranularityVirtualColumn(jsonMapper, query);
+        QueryKitUtils.makeSegmentGranularityVirtualColumn(jsonMapper, 
query.context());
     if (segmentGranularityVirtualColumn != null) {
       virtualColumns.add(segmentGranularityVirtualColumn);
     }
diff --git 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/scan/ScanQueryFrameProcessor.java
 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/scan/ScanQueryFrameProcessor.java
index 05f80b9805d..1be191bddbe 100644
--- 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/scan/ScanQueryFrameProcessor.java
+++ 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/scan/ScanQueryFrameProcessor.java
@@ -137,7 +137,7 @@ public class ScanQueryFrameProcessor extends 
BaseLeafFrameProcessor
     frameWriterVirtualColumns.add(partitionBoostVirtualColumn);
 
     final VirtualColumn segmentGranularityVirtualColumn =
-        QueryKitUtils.makeSegmentGranularityVirtualColumn(jsonMapper, query);
+        QueryKitUtils.makeSegmentGranularityVirtualColumn(jsonMapper, 
query.context());
 
     if (segmentGranularityVirtualColumn != null) {
       frameWriterVirtualColumns.add(segmentGranularityVirtualColumn);
diff --git 
a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorTest.java
 
b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorTest.java
index 5d1b350ca92..e9484ec76e6 100644
--- 
a/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorTest.java
+++ 
b/extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/WindowOperatorQueryFrameProcessorTest.java
@@ -125,7 +125,7 @@ public class WindowOperatorQueryFrameProcessorTest extends 
FrameProcessorTestBas
 
     final BlockingQueueFrameChannel outputChannel = 
BlockingQueueFrameChannel.minimal();
     final WindowOperatorQueryFrameProcessor processor = new 
WindowOperatorQueryFrameProcessor(
-        query,
+        query.context(),
         factChannel.getChannel(),
         outputChannel.writable(),
         frameWriterFactory,
@@ -209,7 +209,7 @@ public class WindowOperatorQueryFrameProcessorTest extends 
FrameProcessorTestBas
 
     final BlockingQueueFrameChannel outputChannel = 
BlockingQueueFrameChannel.minimal();
     final WindowOperatorQueryFrameProcessor processor = new 
WindowOperatorQueryFrameProcessor(
-        query,
+        query.context(),
         factChannel.getChannel(),
         outputChannel.writable(),
         frameWriterFactory,
@@ -316,7 +316,7 @@ public class WindowOperatorQueryFrameProcessorTest extends 
FrameProcessorTestBas
     );
 
     final WindowOperatorQueryFrameProcessor processor = new 
WindowOperatorQueryFrameProcessor(
-        query,
+        query.context(),
         factChannel.getChannel(),
         countingWritableFrameChannel,
         frameWriterFactory,


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to