RingBuilder.save isn't atomic
Bug #1693149 reported by
clayg
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
RingBuilder's are big-ish. We're serializing a non trival data structure while the file handle is open and writing directly into the in-place file - no ideal.
It would be *much* better to write a temporary file - then flush and fsync - then rename.
Changed in swift: | |
status: | New → Confirmed |
To post a comment you must log in.
both cases in that diff where it uses self.path that should just be builder_file or something reasonable - you get the idea.