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

   ### What problem does this PR solve?
   
   This PR narrows the file cache TTL fix for branch-4.0:
   
   - Avoid mutating existing file cache TTL/cache type metadata from read-path 
context.
   - Keep TTL-related hole creation bound to the existing hash TTL metadata 
when a hash already has TTL blocks.
   - Add a periodic duplicate TTL directory check and repair task with 
throttling to reduce CPU/IO impact.
   
   It intentionally does not introduce a storage TTL / logical TTL split.
   
   ### Check and repair behavior
   
   The repair checker:
   
   - scans only cache key directory names to find the same hash under multiple 
TTL expiration directories;
   - repairs only when the in-memory blocks for the hash are stable, 
downloaded, and agree on one canonical expiration time;
   - skips unstable or unbound hashes;
   - limits repair work by per-round max repairs and QPS throttling.
   
   New configs:
   
   - `enable_file_cache_ttl_repair_checker`
   - `file_cache_ttl_repair_checker_interval_ms`
   - `file_cache_ttl_repair_checker_max_repairs_per_round`
   - `file_cache_ttl_repair_checker_qps_limit`
   
   ### Check List
   
   - [x] Added tests for TTL read-path immutability.
   - [x] Added tests for TTL hole metadata inheritance.
   - [x] Added tests for duplicate TTL directory repair and skip cases.
   
   ### Tests
   
   ```bash
   export JAVA_HOME=/mnt/disk1/zhangzhengyu/build-dep/jdk-17.0.2/
   DORIS_TOOLCHAIN=clang DISABLE_BE_JAVA_EXTENSIONS=ON 
ENABLE_INJECTION_POINT=ON ENABLE_CACHE_LOCK_DEBUG=0 ENABLE_PCH=0 sh 
run-be-ut.sh --run --filter=BlockFileCacheTest.*
   ```
   
   Result:
   
   - 101 passed
   - 1 skipped
   - 0 failed
   


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