Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
2.6.0, 3.0.0, 4.0.0-alpha-1
-
None
-
None
Description
In `BackupCommands.RepairCommand#execute`, the following code block is present:
repairFailedBackupDeletionIfAny(conn, sysTable); repairFailedBackupMergeIfAny(conn, sysTable);
Both of these methods can be sketched as:
if (there are no unresolved merges/deletes) { BackupSystemTable.deleteSnapshot(conn); } else { BackupSystemTable.restoreFromSnapshot(conn); retry merge/delete }
In case of failed merges, there will be no unresolved deletes, hence the BackupSystemTable snapshot will be deleted. As a result, the restore for the merges will always fail.
Currently unsure what the risks of this are, haven't explored the merge code yet.
Update: it looks like the merge code doesn't create a BackupSystemTable snapshot. So the restore/delete snapshot for the merge method is pointless.