diff options
author | Erik Johnston <erik@matrix.org> | 2016-09-14 10:18:30 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-09-14 10:18:30 +0100 |
commit | 00f51493f5726210bf649889ed3c03b56fddbe1d (patch) | |
tree | ca53263f57f0abc8b1f5822ea6b62f9cffbf4980 /synapse/storage | |
parent | Ensure we don't mutate state cache entries (diff) | |
download | synapse-00f51493f5726210bf649889ed3c03b56fddbe1d.tar.xz |
Fix reindex
Diffstat (limited to 'synapse/storage')
-rw-r--r-- | synapse/storage/state.py | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/synapse/storage/state.py b/synapse/storage/state.py index ec8c62b653..7eb342674c 100644 --- a/synapse/storage/state.py +++ b/synapse/storage/state.py @@ -819,11 +819,11 @@ class StateStore(SQLBaseStore): def _background_index_state(self, progress, batch_size): def reindex_txn(conn): conn.rollback() - # postgres insists on autocommit for the index - conn.set_session(autocommit=True) - try: - txn = conn.cursor() - if isinstance(self.database_engine, PostgresEngine): + if isinstance(self.database_engine, PostgresEngine): + # postgres insists on autocommit for the index + conn.set_session(autocommit=True) + try: + txn = conn.cursor() txn.execute( "CREATE INDEX CONCURRENTLY state_groups_state_type_idx" " ON state_groups_state(state_group, type, state_key)" @@ -831,16 +831,17 @@ class StateStore(SQLBaseStore): txn.execute( "DROP INDEX IF EXISTS state_groups_state_id" ) - else: - txn.execute( - "CREATE INDEX state_groups_state_type_idx" - " ON state_groups_state(state_group, type, state_key)" - ) - txn.execute( - "DROP INDEX IF EXISTS state_groups_state_id" - ) - finally: - conn.set_session(autocommit=False) + finally: + conn.set_session(autocommit=False) + else: + txn = conn.cursor() + txn.execute( + "CREATE INDEX state_groups_state_type_idx" + " ON state_groups_state(state_group, type, state_key)" + ) + txn.execute( + "DROP INDEX IF EXISTS state_groups_state_id" + ) yield self.runWithConnection(reindex_txn) |