• Andrew Kryczka's avatar
    Avoid directory renames in BackupEngine · 747c8532
    Andrew Kryczka authored
    We used to name private directories like "1.tmp" while BackupEngine populated them, and then rename without the ".tmp" suffix (i.e., rename "1.tmp" to "1") after all files were copied. On glusterfs, directory renames like this require operations across many hosts, and partial failures have caused operational problems.
    Fortunately we don't need to rename private directories. We already have a meta-file that uses the tempfile-rename pattern to commit a backup atomically after all its files have been successfully copied. So we can copy private files directly to their final location, so now there's no directory rename.
    Closes https://github.com/facebook/rocksdb/pull/3749
    Differential Revision: D7705610
    Pulled By: ajkr
    fbshipit-source-id: fd724a28dd2bf993ce323a5f2cb7e7d6980cc346