summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-05-01 10:24:24 +0100
committerErik Johnston <erik@matrix.org>2015-05-01 10:24:24 +0100
commitfabb7acd459dc67990c5becae63e71f631399a5e (patch)
tree3b258476e5561ea1e6fdacbc0daa08c39a9fa5f5 /synapse/storage
parentSplit a storage function in two so that we don't have to do extra work. (diff)
downloadsynapse-fabb7acd459dc67990c5becae63e71f631399a5e.tar.xz
Fix bug where we reconnected to the database on every query.
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/_base.py1
-rw-r--r--synapse/storage/engines/postgres.py2
2 files changed, 2 insertions, 1 deletions
diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py
index 6017c2a6e8..1945e0d174 100644
--- a/synapse/storage/_base.py
+++ b/synapse/storage/_base.py
@@ -301,6 +301,7 @@ class SQLBaseStore(object):
         def inner_func(conn, *args, **kwargs):
             with LoggingContext("runInteraction") as context:
                 if self.database_engine.is_connection_closed(conn):
+                    logger.debug("Reconnecting closed database connection")
                     conn.reconnect()
 
                 current_context.copy_to(context)
diff --git a/synapse/storage/engines/postgres.py b/synapse/storage/engines/postgres.py
index 7125f66f01..64e34265f6 100644
--- a/synapse/storage/engines/postgres.py
+++ b/synapse/storage/engines/postgres.py
@@ -53,7 +53,7 @@ class PostgresEngine(object):
         return False
 
     def is_connection_closed(self, conn):
-        return bool(conn)
+        return bool(conn.closed)
 
     def lock_table(self, txn, table):
         txn.execute("LOCK TABLE %s in EXCLUSIVE MODE" % (table,))