|
|
@ -236,9 +236,9 @@ class FederationClient(FederationBase): |
|
|
|
# TODO: Rate limit the number of times we try and get the same event. |
|
|
|
# TODO: Rate limit the number of times we try and get the same event. |
|
|
|
|
|
|
|
|
|
|
|
if self._get_pdu_cache: |
|
|
|
if self._get_pdu_cache: |
|
|
|
e = self._get_pdu_cache.get(event_id) |
|
|
|
ev = self._get_pdu_cache.get(event_id) |
|
|
|
if e: |
|
|
|
if ev: |
|
|
|
defer.returnValue(e) |
|
|
|
defer.returnValue(ev) |
|
|
|
|
|
|
|
|
|
|
|
pdu = None |
|
|
|
pdu = None |
|
|
|
for destination in destinations: |
|
|
|
for destination in destinations: |
|
|
@ -269,7 +269,7 @@ class FederationClient(FederationBase): |
|
|
|
|
|
|
|
|
|
|
|
break |
|
|
|
break |
|
|
|
|
|
|
|
|
|
|
|
except SynapseError: |
|
|
|
except SynapseError as e: |
|
|
|
logger.info( |
|
|
|
logger.info( |
|
|
|
"Failed to get PDU %s from %s because %s", |
|
|
|
"Failed to get PDU %s from %s because %s", |
|
|
|
event_id, destination, e, |
|
|
|
event_id, destination, e, |
|
|
@ -336,8 +336,10 @@ class FederationClient(FederationBase): |
|
|
|
ev.event_id: ev for ev in fetched_events |
|
|
|
ev.event_id: ev for ev in fetched_events |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
pdus = [event_map[e_id] for e_id in state_event_ids] |
|
|
|
pdus = [event_map[e_id] for e_id in state_event_ids if e_id in event_map] |
|
|
|
auth_chain = [event_map[e_id] for e_id in auth_event_ids] |
|
|
|
auth_chain = [ |
|
|
|
|
|
|
|
event_map[e_id] for e_id in auth_event_ids if e_id in event_map |
|
|
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
auth_chain.sort(key=lambda e: e.depth) |
|
|
|
auth_chain.sort(key=lambda e: e.depth) |
|
|
|
|
|
|
|
|
|
|
|