Skip to content

fix: honor fsync for local deletes - #866

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

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

Conversation

@RanaPriyansh

Copy link
Copy Markdown

Fixes #767.

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.

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

1 participant