Index: app/lib/backend.dart |
diff --git a/app/lib/backend.dart b/app/lib/backend.dart |
index 6234b7f0e594fc32a2e08e3081749b1ed77e9fe9..69f204ed5b35b4a7ef69e7914f6a34f87544259b 100644 |
--- a/app/lib/backend.dart |
+++ b/app/lib/backend.dart |
@@ -314,7 +314,15 @@ class GCloudPackageRepository extends PackageRepository { |
newVersion.pubspec.jsonString); |
} catch (error, stack) { |
_logger.warning('Error while committing: $error, $stack'); |
- await T.rollback(); |
+ |
+ // This call might fail if the transaction has already been |
+ // committed/rolled back or the transaction failed. |
+ // |
+ // In which case we simply ignore the rollback error and rethrow the |
+ // original error. |
+ try { |
+ await T.rollback(); |
+ } catch (_) {} |
rethrow; |
} |
}); |