message: Clean up tmp file on failure
diff: @@ -1318,6 +1318,7 @@ bool SharedGroup::compact()
  // Compact by writing a new file holding only live data, then renaming the new file
  // so it becomes the database file, replacing the old one in the process.
  + try {
  File file;
  file.open(tmp_path, File::access_ReadWrite, File::create_Must, 0);
  m_group.write(file, m_key, info->latest_version_number); // Throws
  @@ -1325,6 +1326,12 @@ bool SharedGroup::compact()
  bool disable_sync = get_disable_sync_to_disk();
  if (!disable_sync)
  file.sync(); // Throws
  + }
  + catch (...)
  + {
  + File::try_remove(tmp_path);
  + throw;
  + }
  #ifndef _WIN32
  util::File::move(tmp_path, m_db_path);
  #endif
  