Skip to content

Update memory file modification times after writes - #2187

Merged
martindurant merged 2 commits into
fsspec:masterfrom
x0Lazarus:fix/memory-file-modified-time
Sep 28, 2026
Merged

martindurant merged 2 commits into
fsspec:masterfrom
x0Lazarus:fix/memory-file-modified-time

Conversation

@x0Lazarus

Copy link
Copy Markdown
Contributor

Appending to or overwriting an existing memory file changes its contents, but fs.modified(path) still returns the time from its last commit. Truncating the file has the same problem. Code checking modification times can therefore miss a change.

Update the timestamp after successful writes and truncation, while preserving the creation time and the existing return values. writelines uses the same write path, so the timestamp also advances when some lines are written before a later line raises an error. Reads, empty writes, and rejected writes leave it unchanged.

Five regression cases fail before the fix. The memory and mapping tests pass on Windows with Python 3.12: 95 passed and one skipped. Ruff lint and formatting checks and codespell pass for the changed files. The broader filesystem specification tests could not collect in this environment because NumPy is missing; Docker, cloud backends, and downstream projects were not tested.

@martindurant

Copy link
Copy Markdown
Member

I believe this successfully copies posix behaviour

@martindurant
martindurant merged commit d2b2bf4 into fsspec:master Sep 28, 2026
11 checks passed
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.

2 participants