Skip to content

branch-4.1: [fix](filecache) clean empty v3 cache dirs #63344#63616

Merged
yiguolei merged 1 commit into
branch-4.1from
auto-pick-63344-branch-4.1
May 26, 2026
Merged

branch-4.1: [fix](filecache) clean empty v3 cache dirs #63344#63616
yiguolei merged 1 commit into
branch-4.1from
auto-pick-63344-branch-4.1

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Cherry-picked from #63344

### What problem does this PR solve?

Issue Number: #63117

Fixes file cache empty directory leakage for v3 cache layout.

In v3 layout, cache files live under `<hash_prefix>/<hash>_0/`.
`FSFileCacheStorage::remove()` deletes the v3 cache file first, then
switches the local directory variable to the legacy v2 path for
compatibility cleanup. The final empty-directory cleanup therefore
checks the v2 directory and can leave the actual v3 `<hash>_0` directory
behind.

This patch keeps v2 and v3 directory paths separately, preserves the
existing v2 compatibility cleanup, and additionally removes the v3 key
directory when it is empty. The v3 directory cleanup uses non-recursive
`std::filesystem::remove()` to avoid deleting concurrently created
files.

### Check List

- [x] Added unit test
- [ ] Regression test
@github-actions github-actions Bot requested a review from yiguolei as a code owner May 25, 2026 10:03
@hello-stephen
Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@hello-stephen
Copy link
Copy Markdown
Contributor

run buildall

@yiguolei
Copy link
Copy Markdown
Contributor

skip buildall

@yiguolei yiguolei merged commit da6ff4d into branch-4.1 May 26, 2026
32 of 34 checks passed
@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label May 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor Author

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Copy Markdown
Contributor Author

PR approved by anyone and no changes requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants