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


##########
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:
   Keeping the predicate in isSame is the bug: it is always IN(partKey, 
\<dynamic list\>), partKey is already compared, and the only extra thing it 
compares is the list's source operator id (RS[n]), which differs for every 
branch even when the pruning is identical. A "narrower" comparison would have 
to ignore that same id. For downStreamMerge, what matters is the event's target 
scan, not the predicate. Native DPP events have never had a predicate and are 
compared the same way.



-- 
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