Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Fix uncommitted file clean-up in transactions #218
This adds a callback for deleting files to
This ensures that unused metadata files are not deleted when operations are committed to the transaction. The set of files that needs to be deleted may change, so only the last set of deletes in a transaction should be run.
This was discovered when appending a manifest file using #201. A manifest was copied, merged with existing manifests, and deleted when committing a change to the transaction. When the transaction committed, it conflicted and re-ran the manifest file append. Manifests from the conflicting commit were merged into existing manifests instead of the copy of the appended manifest, so the copy that had already been deleted was used in table metadata.