thomasrebele commented on code in PR #5482:
URL: https://github.com/apache/hive/pull/5482#discussion_r2325315303


##########
ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java:
##########
@@ -671,6 +674,15 @@ public void notifyTableChanged(String dbName, String 
tableName, long updateTime)
    */
   private boolean entryMatches(LookupInfo lookupInfo, CacheEntry entry, 
Set<CacheEntry> entriesToRemove) {
     QueryInfo queryInfo = entry.getQueryInfo();
+
+    if(!queryInfo.getInputs()
+            .stream()
+            .map(ReadEntity::getTable)
+            .map(Table::getTTable)
+            .map(org.apache.hadoop.hive.metastore.api.Table::getId)
+            .collect(Collectors.toSet()).containsAll(lookupInfo.txnTables))
+        return false;

Review Comment:
   I think the condition is that all `lookupInfo.tableIds` need to be contained 
in the cache entry. The condition you've mentioned might have some 
lookupInfo.tableIds that are not covered.
   
   We can collect the available table ids in the loop and move the check to the 
end of the method, though.



-- 
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: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to