summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2016-08-05 10:44:01 +0100
committerGitHub <noreply@github.com>2016-08-05 10:44:01 +0100
commit87ef315ad5f933a7ee91b5a1d570efdc332f9dd4 (patch)
tree1024dc43f9a5b8618c438098e50b28ee5e286425
parentMerge pull request #973 from matrix-org/erikj/xpath_fix (diff)
parentDelete more tables (diff)
downloadsynapse-87ef315ad5f933a7ee91b5a1d570efdc332f9dd4.tar.xz
Merge pull request #985 from matrix-org/erikj/fix_integrity_retry
Tweak integrity error recovery to work as intended
-rw-r--r--synapse/federation/federation_client.py2
-rw-r--r--synapse/storage/events.py8
2 files changed, 9 insertions, 1 deletions
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py
index c6ed720166..7e1690b0fb 100644
--- a/synapse/federation/federation_client.py
+++ b/synapse/federation/federation_client.py
@@ -343,7 +343,7 @@ class FederationClient(FederationBase):
 
             defer.returnValue((pdus, auth_chain))
         except HttpResponseException as e:
-            if e.code == 404:
+            if e.code == 400 or e.code == 404:
                 logger.info("Failed to use get_room_state_ids API, falling back")
             else:
                 raise e
diff --git a/synapse/storage/events.py b/synapse/storage/events.py
index 340c0621cc..e4dbaa3547 100644
--- a/synapse/storage/events.py
+++ b/synapse/storage/events.py
@@ -580,6 +580,7 @@ class EventsStore(SQLBaseStore):
 
             for table in (
                 "events",
+                "event_auth",
                 "event_json",
                 "event_content_hashes",
                 "event_destinations",
@@ -591,8 +592,15 @@ class EventsStore(SQLBaseStore):
                 "event_search",
                 "event_signatures",
                 "event_to_state_groups",
+                "guest_access",
+                "history_visibility",
+                "local_invites",
+                "room_names",
+                "state_events",
                 "rejections",
                 "redactions",
+                "room_memberships",
+                "state_events"
             ):
                 txn.executemany(
                     "DELETE FROM %s WHERE event_id = ?" % (table,),