diff options
author | Erik Johnston <erik@matrix.org> | 2018-07-23 15:24:21 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2018-07-23 15:24:21 +0100 |
commit | 999bcf9d016fb7fd9ad5a9daf4f0ec6d25a10717 (patch) | |
tree | 76ad8cbf664e34cc07b45b3b851d3f04c76668f3 /synapse/events | |
parent | Merge pull request #3579 from matrix-org/erikj/stateless_contexts_4 (diff) | |
download | synapse-999bcf9d016fb7fd9ad5a9daf4f0ec6d25a10717.tar.xz |
Fix EventContext when using workers
We were: 1. Not correctly setting all attributes 2. Using defer.inlineCallbacks in a non-generator
Diffstat (limited to 'synapse/events')
-rw-r--r-- | synapse/events/snapshot.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/synapse/events/snapshot.py b/synapse/events/snapshot.py index a6d7bf5700..e31eceb921 100644 --- a/synapse/events/snapshot.py +++ b/synapse/events/snapshot.py @@ -82,6 +82,11 @@ class EventContext(object): "_fetching_state_deferred", ] + def __init__(self): + self.prev_state_events = [] + self.rejected = False + self.app_service = None + @staticmethod def with_state(state_group, current_state_ids, prev_state_ids, prev_group=None, delta_ids=None): @@ -103,11 +108,6 @@ class EventContext(object): context.prev_group = prev_group context.delta_ids = delta_ids - context.prev_state_events = [] - - context.rejected = False - context.app_service = None - return context def serialize(self, event): @@ -143,7 +143,6 @@ class EventContext(object): } @staticmethod - @defer.inlineCallbacks def deserialize(store, input): """Converts a dict that was produced by `serialize` back into a EventContext. @@ -162,6 +161,7 @@ class EventContext(object): context._prev_state_id = input["prev_state_id"] context._event_type = input["event_type"] context._event_state_key = input["event_state_key"] + context._fetching_state_deferred = None context.state_group = input["state_group"] context.prev_group = input["prev_group"] @@ -174,7 +174,7 @@ class EventContext(object): if app_service_id: context.app_service = store.get_app_service_by_id(app_service_id) - defer.returnValue(context) + return context @defer.inlineCallbacks def get_current_state_ids(self, store): |