Copilot commented on code in PR #6824:
URL: https://github.com/apache/hive/pull/6824#discussion_r4122036258


##########
ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java:
##########
@@ -127,8 +123,7 @@ public boolean isSame(OperatorDesc other) {
       DynamicPruningEventDesc otherDesc = (DynamicPruningEventDesc) other;
       return Objects.equals(getTargetColumnName(), 
otherDesc.getTargetColumnName()) &&
           Objects.equals(getTargetColumnType(), 
otherDesc.getTargetColumnType()) &&
-          Objects.equals(getPartKeyString(), otherDesc.getPartKeyString()) &&
-          Objects.equals(getPartPredicateString(), 
otherDesc.getPartPredicateString());
+          Objects.equals(getPartKeyString(), otherDesc.getPartKeyString());

Review Comment:
   The parent-aware check does not actually establish that the dynamic-list 
sources are the same here. `areMergeableExtendedCheck` calls 
`compareAndGatherOps` on the event operators, but 
`ExprNodeDynamicListDesc.source` is `ctx.generator`, which is a sibling of the 
event branch created from `ctx.generator.getParentOperators().get(0)`, so that 
generator is never compared. Consequently, two events with the same target 
metadata/part key but different source operators can pass this check; with 
downstream merging enabled, one event can then be removed and its distinct 
runtime predicate is no longer registered in `MapWork`. Compare the 
generator/source operators explicitly (or keep predicate-sensitive equality for 
this generic path) and add a regression case with different DPP sources.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to