// We waited to max amount of time, but still didn't see the successful condition, so abort by throwing an exception.
// The process can be restarted at any time, and hopefully will eventually see the upgrade.
LOGGER.error(lastError, failureMsg, name, time);
String msg = failureMsg.text(name, time);
throw new SystemFailureException(msg);
}