github-actions[bot] commented on code in PR #65714:
URL: https://github.com/apache/doris/pull/65714#discussion_r3596366666


##########
be/src/format_v2/table_reader.cpp:
##########
@@ -630,10 +632,11 @@ bool TableReader::_should_enable_condition_cache(const 
FileScanRequest& file_req
         !file_request.delete_conjuncts.empty()) {
         return false;
     }
-    // Runtime filters can arrive late and their payload is not guaranteed to 
be represented by the
-    // scan-local digest. Without a read-only mode, a MISS could insert a 
bitmap for P AND RF under
-    // the digest for only P. This mirrors the old FileScanner guard.
-    return !contains_runtime_filter(file_request.conjuncts);
+    // Only scanner-driven splits provide a digest rebuilt from the exact RF 
snapshot. Keep the
+    // conservative behavior for standalone TableReader callers: their initial 
digest may describe
+    // only static predicate P and must not store P AND RF under that key.
+    return _condition_cache_digest_covers_current_split ||

Review Comment:
   There is also a same-namespace version collision in this key. Mutable local 
and HTTP TVFs construct `TBrokerFileStatus` without a modification time, so 
`TVFScanNode` and `FileQueryScanNode` serialize the unknown-version sentinel 
`mtime=0` while `is_immutable` remains false. After an RF scan publishes a 
false granule, replacing the same path with same-size contents can make a later 
scan with the same RF digest reuse it and skip newly matching rows. Adding the 
endpoint fixes the cross-namespace case above but not this one; condition-cache 
admission also needs the page-cache-style `mtime == 0 && !is_immutable` gate 
(or a stable resolved object version), plus a same-path rewrite regression.
   



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