|
|
|
@ -50,7 +50,6 @@ from synapse.storage.background_updates import BackgroundUpdater |
|
|
|
|
from synapse.storage.engines import BaseDatabaseEngine, PostgresEngine, Sqlite3Engine |
|
|
|
|
from synapse.storage.types import Connection, Cursor |
|
|
|
|
from synapse.types import Collection |
|
|
|
|
from synapse.util.stringutils import exception_to_unicode |
|
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
@ -424,20 +423,14 @@ class Database(object): |
|
|
|
|
# This can happen if the database disappears mid |
|
|
|
|
# transaction. |
|
|
|
|
logger.warning( |
|
|
|
|
"[TXN OPERROR] {%s} %s %d/%d", |
|
|
|
|
name, |
|
|
|
|
exception_to_unicode(e), |
|
|
|
|
i, |
|
|
|
|
N, |
|
|
|
|
"[TXN OPERROR] {%s} %s %d/%d", name, e, i, N, |
|
|
|
|
) |
|
|
|
|
if i < N: |
|
|
|
|
i += 1 |
|
|
|
|
try: |
|
|
|
|
conn.rollback() |
|
|
|
|
except self.engine.module.Error as e1: |
|
|
|
|
logger.warning( |
|
|
|
|
"[TXN EROLL] {%s} %s", name, exception_to_unicode(e1) |
|
|
|
|
) |
|
|
|
|
logger.warning("[TXN EROLL] {%s} %s", name, e1) |
|
|
|
|
continue |
|
|
|
|
raise |
|
|
|
|
except self.engine.module.DatabaseError as e: |
|
|
|
@ -449,9 +442,7 @@ class Database(object): |
|
|
|
|
conn.rollback() |
|
|
|
|
except self.engine.module.Error as e1: |
|
|
|
|
logger.warning( |
|
|
|
|
"[TXN EROLL] {%s} %s", |
|
|
|
|
name, |
|
|
|
|
exception_to_unicode(e1), |
|
|
|
|
"[TXN EROLL] {%s} %s", name, e1, |
|
|
|
|
) |
|
|
|
|
continue |
|
|
|
|
raise |
|
|
|
|