Skip to content

fix: honor fsync for local deletes - #866

Draft
RanaPriyansh wants to merge 1 commit into
apache:mainfrom
RanaPriyansh:fix/local-delete-fsync-767
Draft

RanaPriyansh wants to merge 1 commit into
apache:mainfrom
RanaPriyansh:fix/local-delete-fsync-767

Conversation

@RanaPriyansh

@RanaPriyansh RanaPriyansh commented Sep 28, 2026 •

Copy link
Copy Markdown

Standalone deletes ignore LocalFileSystem::with_fsync(true).

Pass the configured flag to the deletion helper so direct and streamed deletes sync the parent directory after unlink. Retain the directory handle before unlink to prevent concurrent cleanup from removing the path before sync. Document that automatic directory cleanup is not synced.

Unix regression tests reproduce the missing sync-error propagation on the baseline. Controls cover concurrent deletion with cleanup, disabled fsync, symlink targets, and nested-directory cleanup. Permission tests skip when the host can open a directory without read permission.

Validation: cargo test, cargo fmt --all -- --check, cargo clippy --all-features --all-targets -- -D warnings, cargo check --all-targets --all-features, and the CI Clippy feature matrix passed locally. No power-failure or Windows durability claim is made.

Codex used.

@alamb
alamb marked this pull request as draft October 16, 2026 21:21
@alamb

alamb commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Marking as draft per #873 (comment) so i can find the PRs that need attention. Thank you

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement fsync for delete operations in local.rs

2 participants