Restore does very little validate before unpacking backup
In large environments, unpacking the backup file can take well over 30 minutes. This can add some frustration and delay when things go wrong and you have to start over. Spending 40 minutes to find out you are on the wrong version of gitlab, a service has not been started, or other minor issues can add a lot of time to a maintenance window.
Also, I have experienced an issue where the backup errors out when the database is not in good shape... this is right before the restore destroys and rebuilds the database, which seems like an unusual reason to error out.
Run basic validation before unpacking the backup. I believe most information is inside the backup_information.yml file, which can be pulled out without unpacking the whole tarball, also checking all necessary services are up and running before starting the unpacking.