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: [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]