diff --git a/r2/r2/lib/db/tdb_sql.py b/r2/r2/lib/db/tdb_sql.py index 3aeab0580..9ec6d9bf8 100644 --- a/r2/r2/lib/db/tdb_sql.py +++ b/r2/r2/lib/db/tdb_sql.py @@ -77,15 +77,19 @@ class TransactionSet(threading.local): def commit(self): """Commit the meta-transaction.""" - for engine in self.transacting_engines: - engine.commit() - self._clear() + try: + for engine in self.transacting_engines: + engine.commit() + finally: + self._clear() def rollback(self): """Roll back the meta-transaction.""" - for engine in self.transacting_engines: - engine.rollback() - self._clear() + try: + for engine in self.transacting_engines: + engine.rollback() + finally: + self._clear() def _clear(self): self.transacting_engines.clear()