bobhan1 opened a new pull request, #65058:
URL: https://github.com/apache/doris/pull/65058

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: selectdb/selectdb-core#9151, selectdb/selectdb-core#9531, 
selectdb/selectdb-core#9450
   
   Problem Summary:
   
   This PR upstreams a stacked set of cloud file-cache write-control changes.
   
   It adds index-only file-cache write support and lazy-materialization write 
control, then adds query-wide remote-scan cache write limiting through 
`remote_scan_no_write_file_cache_threshold_bytes`. When a remote scan exceeds 
the configured threshold, cache misses continue reading remotely without 
writing more data into file cache.
   
   The limiter is propagated through query context, cached remote reads, 
inverted-index reads, file-cache stats/profile reporting, and cloud regression 
coverage.
   
   During local validation, the remote-scan Docker suite initially failed 
because `clear&sync=true` can leave direct cache-file readers holding recently 
cleared blocks, making a "cold" read hit stale local cache. The suite now 
disables `enable_read_cache_file_directly` so it tests the remote-scan limiter 
on the normal file-cache path deterministically, and it asserts the clear API 
status.
   
   ### Release note
   
   Add file-cache write controls for index-only writes and remote scans, 
including `remote_scan_no_write_file_cache_threshold_bytes`.
   
   ### Check List (For Author)
   
   - Test:
       - `build-support/clang-format.sh`
       - `git diff --check`
       - `./run-be-ut.sh --run 
--filter=BlockFileCacheTest.file_cache_profile_remote_only_on_miss_state_counters:BlockFileCacheTest.remote_scan_cache_write_limiter_strict_budget:BlockFileCacheTest.remote_scan_cache_write_limiter_threshold_zero_and_negative:BlockFileCacheTest.remote_scan_cache_write_limiter_concurrent_budget:BlockFileCacheTest.get_or_set_remote_scan_cache_write_limiter_admission:BlockFileCacheTest.get_or_set_remote_scan_cache_write_limiter_is_query_wide_for_index:BlockFileCacheTest.cached_remote_file_reader_policy_remote_only_with_scan_limiter:BlockFileCacheTest.cached_remote_file_reader_remote_scan_cache_write_limiter:DorisFSDirectoryTest.FSIndexInputSetIoContextPropagatesQueryLimiter
 -j100`
       - `./run-fe-ut.sh --run org.apache.doris.qe.SessionVariablesTest`
       - `./build.sh --be --fe --cloud -j100`
       - `env -u HTTP_PROXY -u HTTPS_PROXY -u http_proxy -u https_proxy -u 
ALL_PROXY -u all_proxy ./run-regression-test.sh --run -f 
regression-test/suites/cloud_p0/cache/remote_scan_no_write_file_cache/test_remote_scan_no_write_file_cache_threshold.groovy
 -g docker -runMode=cloud -dockerSuiteParallel 1`
   - Behavior changed: Yes. Remote scans can stop writing cache after the 
configured per-query threshold while continuing to read remote data.
   - Does this need documentation: Yes. The new session variable should be 
documented in a follow-up docs PR.
   


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