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]