Skip to content

set_maintenance_mode should use atomic write. #162

@reitermarkus

Description

@reitermarkus

Python version

any

Django version

any

Package version

any

Current behavior (bug description)

set_maintenance_mode uses normal write, i.e open + write, which may result in a race condition as seen in inventree/InvenTree#6066. An empty maintenance_mode.txt then leads to a state value is not 0|1 error.

Expected behavior

set_maintenance_mode uses atomic write, i.e. open + write to temporary file, then mv temporary file to actual file. I'm sure there is a Python package that provides such a function.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions