summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.rst15
-rw-r--r--synapse/__init__.py2
-rw-r--r--synapse/api/auth.py1
-rw-r--r--synapse/handlers/federation.py1
-rw-r--r--synapse/state.py4
-rw-r--r--synapse/storage/roommember.py4
-rw-r--r--synapse/storage/state.py2
7 files changed, 25 insertions, 4 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index dfa5d8748a..c1a8dd7613 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,3 +1,18 @@
+Changes in synapse v0.18.6-rc3 (2017-01-05)
+===========================================
+
+Bug fixes:
+
+* Fix bug where we failed to send ban events to the banned server (PR #1758)
+* Fix bug where we sent event that didn't originate on this server to
+  other servers (PR #1764)
+* Fix bug where processing an event from a remote server took a long time
+  because we were making long HTTP requests (PR #1765, PR #1744)
+
+Changes:
+
+* Improve logging for debugging deadlocks (PR #1766, PR #1767)
+
 Changes in synapse v0.18.6-rc2 (2016-12-30)
 ===========================================
 
diff --git a/synapse/__init__.py b/synapse/__init__.py
index fbb2bb57b0..a1da92ef92 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -16,4 +16,4 @@
 """ This is a reference implementation of a Matrix home server.
 """
 
-__version__ = "0.18.6-rc2"
+__version__ = "0.18.6-rc3"
diff --git a/synapse/api/auth.py b/synapse/api/auth.py
index a99986714d..f93e45a744 100644
--- a/synapse/api/auth.py
+++ b/synapse/api/auth.py
@@ -290,6 +290,7 @@ class Auth(object):
         with Measure(self.clock, "check_host_in_room"):
             latest_event_ids = yield self.store.get_latest_event_ids_in_room(room_id)
 
+            logger.info("calling resolve_state_groups from check_host_in_room")
             entry = yield self.state.resolve_state_groups(
                 room_id, latest_event_ids
             )
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 8c93d6d39f..1021bcc405 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -591,6 +591,7 @@ class FederationHandler(BaseHandler):
 
         event_ids = list(extremities.keys())
 
+        logger.info("calling resolve_state_groups in _maybe_backfill")
         states = yield preserve_context_over_deferred(defer.gatherResults([
             preserve_fn(self.state_handler.resolve_state_groups)(room_id, [e])
             for e in event_ids
diff --git a/synapse/state.py b/synapse/state.py
index b4eca0e5d5..ba0d2a39ac 100644
--- a/synapse/state.py
+++ b/synapse/state.py
@@ -123,6 +123,7 @@ class StateHandler(object):
         if not latest_event_ids:
             latest_event_ids = yield self.store.get_latest_event_ids_in_room(room_id)
 
+        logger.info("calling resolve_state_groups from get_current_state")
         ret = yield self.resolve_state_groups(room_id, latest_event_ids)
         state = ret.state
 
@@ -147,6 +148,7 @@ class StateHandler(object):
         if not latest_event_ids:
             latest_event_ids = yield self.store.get_latest_event_ids_in_room(room_id)
 
+        logger.info("calling resolve_state_groups from get_current_state_ids")
         ret = yield self.resolve_state_groups(room_id, latest_event_ids)
         state = ret.state
 
@@ -158,6 +160,7 @@ class StateHandler(object):
 
     @defer.inlineCallbacks
     def get_current_user_in_room(self, room_id, latest_event_ids=None):
+        logger.info("calling resolve_state_groups from get_current_user_in_room")
         if not latest_event_ids:
             latest_event_ids = yield self.store.get_latest_event_ids_in_room(room_id)
         entry = yield self.resolve_state_groups(room_id, latest_event_ids)
@@ -223,6 +226,7 @@ class StateHandler(object):
             context.prev_state_events = []
             defer.returnValue(context)
 
+        logger.info("calling resolve_state_groups from compute_event_context")
         if event.is_state():
             entry = yield self.resolve_state_groups(
                 event.room_id, [e for e, _ in event.prev_events],
diff --git a/synapse/storage/roommember.py b/synapse/storage/roommember.py
index 946d5a81cc..5d18037c7c 100644
--- a/synapse/storage/roommember.py
+++ b/synapse/storage/roommember.py
@@ -393,8 +393,8 @@ class RoomMemberStore(SQLBaseStore):
     @cachedInlineCallbacks(num_args=2, cache_context=True)
     def _get_joined_users_from_context(self, room_id, state_group, current_state_ids,
                                        cache_context, event=None):
-        # We don't use `state_group`, its there so that we can cache based
-        # on it. However, its important that its never None, since two current_state's
+        # We don't use `state_group`, it's there so that we can cache based
+        # on it. However, it's important that it's never None, since two current_states
         # with a state_group of None are likely to be different.
         # See bulk_get_push_rules_for_room for how we work around this.
         assert state_group is not None
diff --git a/synapse/storage/state.py b/synapse/storage/state.py
index 23e7ad9922..7f466c40ac 100644
--- a/synapse/storage/state.py
+++ b/synapse/storage/state.py
@@ -384,7 +384,7 @@ class StateStore(SQLBaseStore):
                     # We did this before by getting the list of group ids, and
                     # then passing that list to sqlite to get latest event for
                     # each (type, state_key). However, that was terribly slow
-                    # without the right indicies (which we can't add until
+                    # without the right indices (which we can't add until
                     # after we finish deduping state, which requires this func)
                     args = [next_group]
                     if types: