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

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


The following commit(s) were added to refs/heads/master by this push:
     new 0d16e021528 Rewrite isDirectExchangeCompatible to support joins 
without partition functions (#16603)
0d16e021528 is described below

commit 0d16e021528c8fe419975dbe0e360cb454119c7e
Author: Gonzalo Ortiz Jaureguizar <[email protected]>
AuthorDate: Thu Sep 11 14:36:07 2025 +0200

    Rewrite isDirectExchangeCompatible to support joins without partition 
functions (#16603)
---
 .../pinot/query/planner/physical/MailboxAssignmentVisitor.java   | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/physical/MailboxAssignmentVisitor.java
 
b/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/physical/MailboxAssignmentVisitor.java
index cf2ad02131b..758b72f2222 100644
--- 
a/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/physical/MailboxAssignmentVisitor.java
+++ 
b/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/physical/MailboxAssignmentVisitor.java
@@ -165,8 +165,13 @@ public class MailboxAssignmentVisitor extends 
DefaultPostOrderTraversalVisitor<V
       DispatchablePlanMetadata receiver) {
     int numSenders = sender.getWorkerIdToServerInstanceMap().size();
     int numReceivers = receiver.getWorkerIdToServerInstanceMap().size();
-    return numSenders * sender.getPartitionParallelism() == numReceivers && 
sender.getPartitionFunction() != null
-        && 
sender.getPartitionFunction().equalsIgnoreCase(receiver.getPartitionFunction());
+    if (numSenders * sender.getPartitionParallelism() != numReceivers) {
+      return false;
+    }
+    if (sender.getPartitionFunction() == null) {
+      return receiver.getPartitionFunction() == null;
+    }
+    return 
sender.getPartitionFunction().equalsIgnoreCase(receiver.getPartitionFunction());
   }
 
   private void connectWorkers(int stageId, Map<Integer, QueryServerInstance> 
serverMap,


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

Reply via email to