diff --git a/synapse/storage/events.py b/synapse/storage/events.py index 468a259a6..340c0621c 100644 --- a/synapse/storage/events.py +++ b/synapse/storage/events.py @@ -163,11 +163,10 @@ def _retry_on_integrity_error(func): def f(self, *args, **kwargs): try: res = yield func(self, *args, **kwargs) - defer.returnValue(res) except self.database_engine.module.IntegrityError: logger.exception("IntegrityError, retrying.") res = yield func(self, *args, delete_existing=True, **kwargs) - defer.returnValue(res) + defer.returnValue(res) return f @@ -577,6 +576,8 @@ class EventsStore(SQLBaseStore): # This gets around any problems with some tables already having # entries. + logger.info("Deleting existing") + for table in ( "events", "event_json", @@ -595,7 +596,7 @@ class EventsStore(SQLBaseStore): ): txn.executemany( "DELETE FROM %s WHERE event_id = ?" % (table,), - [ev for ev, _ in events_and_contexts] + [(ev.event_id,) for ev, _ in events_and_contexts] ) self._simple_insert_many_txn(