code: private synchronized void copyMetaFilesForUpgrade() throws IOException {
      Configuration conf = new Configuration();
      File currentDir = journalStorage.getSingularStorageDir().getCurrentDir();
      File prevDir = journalStorage.getSingularStorageDir().getPreviousTmp();
      FileSystem fs = FileSystem.getLocal(conf).getRaw();
  
      FileUtil.copy(new File(prevDir, LAST_PROMISED_FILENAME), fs, new File(
          currentDir, LAST_PROMISED_FILENAME), false, conf);
      FileUtil.copy(new File(prevDir, LAST_WRITER_EPOCH), fs, new File(
          currentDir, LAST_WRITER_EPOCH), false, conf);
      FileUtil.copy(new File(prevDir, COMMITTED_TXID_FILENAME), fs, new File(
          currentDir, COMMITTED_TXID_FILENAME), false, conf);
      FileUtil.copy(new File(prevDir, JNStorage.PAXOS_DIR), fs, new File(
          currentDir, JNStorage.PAXOS_DIR), false, conf);
    }
docs: After an upgrade we must ensure that the current directory still holds all
  epoch, committed txid and paxos files that it had before we did the
  upgrade.