Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
If there is a failure in the write chunk requests before the first put block, a file will be left in the container directory that has no corresponding RocksDB entry. This isn't really a bug because the data is unreferenced, but it would be good to have the container directory only contain block files with committed data.
The proposal is to initially write the block file to a tmp directory, and use atomic filesystem mv to put it in the container directory on the first put block request. Subsequent writes to the block will use the block file in the container.