Skip to content

fix(core): skip NotFound during concurrent recursive listing#7230

Merged
Xuanwo merged 2 commits intomainfrom
xuanwo/investigate-local-list-root-recursive-flake
Feb 26, 2026
Merged

fix(core): skip NotFound during concurrent recursive listing#7230
Xuanwo merged 2 commits intomainfrom
xuanwo/investigate-local-list-root-recursive-flake

Conversation

@Xuanwo
Copy link
Member

@Xuanwo Xuanwo commented Feb 26, 2026

Which issue does this PR close?

Closes #.

Rationale for this change

Behavior tests for fs can fail intermittently under concurrent execution with errors like:

NotFound (persistent) at list ... source: No such file or directory (os error 2)

The failure happens when recursive list traverses entries that are removed by other concurrent tests. In this case, treating NotFound as a hard failure makes list behavior flaky.

What changes are included in this PR?

  • Update FlatLister to tolerate ErrorKind::NotFound during recursive traversal by skipping disappeared entries/directories and continuing listing.
  • Update FsLister to handle transient NotFound from next_entry, file_type, and metadata paths:
    • end listing gracefully if the listed directory disappears;
    • skip entries that disappear between readdir and metadata probing.
  • Keep non-NotFound errors unchanged.

Are there any user-facing changes?

No API changes. Runtime behavior becomes more resilient for concurrent list/delete races.

AI Usage Statement

This PR was developed with Codex (GPT-5) assistance, with human review.

@dosubot dosubot bot added releases-note/fix The PR fixes a bug or has a title that begins with "fix" size:L This PR changes 100-499 lines, ignoring generated files. labels Feb 26, 2026
Copy link
Member

@tisonkun tisonkun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still failed. But unblock the process once you get all the CI checks pass.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 26, 2026
@Xuanwo
Copy link
Member Author

Xuanwo commented Feb 26, 2026

  • Behavior Test / binding_c / ubuntu-latest / redb / redb (pull_request)

fs is passing, other failure might be related to GHA, will retry them

@Xuanwo Xuanwo merged commit ec16a1e into main Feb 26, 2026
395 of 399 checks passed
@Xuanwo Xuanwo deleted the xuanwo/investigate-local-list-root-recursive-flake branch February 26, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/fix The PR fixes a bug or has a title that begins with "fix" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants