Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit bcf97ea

Browse files
committed
Skip attempt to get state at backwards-extremities
We don't *have* the state at a backwards-extremity, so this is never going to do anything useful.
1 parent 00a67f8 commit bcf97ea

File tree

2 files changed

+4
-57
lines changed

2 files changed

+4
-57
lines changed

changelog.d/12173.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Merge remote-tracking branch 'origin/release-v1.54' into develop

synapse/handlers/federation.py

Lines changed: 3 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
from signedjson.sign import verify_signed_json
2424
from unpaddedbase64 import decode_base64
2525

26-
from twisted.internet import defer
27-
2826
from synapse import event_auth
2927
from synapse.api.constants import EventContentFields, EventTypes, Membership
3028
from synapse.api.errors import (
@@ -45,11 +43,7 @@
4543
from synapse.events.validator import EventValidator
4644
from synapse.federation.federation_client import InvalidResponseError
4745
from synapse.http.servlet import assert_params_in_dict
48-
from synapse.logging.context import (
49-
make_deferred_yieldable,
50-
nested_logging_context,
51-
preserve_fn,
52-
)
46+
from synapse.logging.context import nested_logging_context
5347
from synapse.metrics.background_process_metrics import run_as_background_process
5448
from synapse.replication.http.federation import (
5549
ReplicationCleanRoomRestServlet,
@@ -355,56 +349,8 @@ async def try_backfill(domains: List[str]) -> bool:
355349
if success:
356350
return True
357351

358-
# Huh, well *those* domains didn't work out. Lets try some domains
359-
# from the time.
360-
361-
tried_domains = set(likely_domains)
362-
tried_domains.add(self.server_name)
363-
364-
event_ids = list(extremities.keys())
365-
366-
logger.debug("calling resolve_state_groups in _maybe_backfill")
367-
resolve = preserve_fn(self.state_handler.resolve_state_groups_for_events)
368-
states_list = await make_deferred_yieldable(
369-
defer.gatherResults(
370-
[resolve(room_id, [e]) for e in event_ids], consumeErrors=True
371-
)
372-
)
373-
374-
# A map from event_id to state map of event_ids.
375-
state_ids: Dict[str, StateMap[str]] = dict(
376-
zip(event_ids, [s.state for s in states_list])
377-
)
378-
379-
state_map = await self.store.get_events(
380-
[e_id for ids in state_ids.values() for e_id in ids.values()],
381-
get_prev_content=False,
382-
)
383-
384-
# A map from event_id to state map of events.
385-
state_events: Dict[str, StateMap[EventBase]] = {
386-
key: {
387-
k: state_map[e_id]
388-
for k, e_id in state_dict.items()
389-
if e_id in state_map
390-
}
391-
for key, state_dict in state_ids.items()
392-
}
393-
394-
for e_id in event_ids:
395-
likely_extremeties_domains = get_domains_from_state(state_events[e_id])
396-
397-
success = await try_backfill(
398-
[
399-
dom
400-
for dom, _ in likely_extremeties_domains
401-
if dom not in tried_domains
402-
]
403-
)
404-
if success:
405-
return True
406-
407-
tried_domains.update(dom for dom, _ in likely_extremeties_domains)
352+
# TODO: we could also try servers which were previously in the room, but
353+
# are no longer.
408354

409355
return False
410356

0 commit comments

Comments
 (0)