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

Faster joins: Creating events from local users: Answer queries over federation where we are obligated to answer #14059

Closed
6 tasks
Tracked by #12997
reivilibre opened this issue Oct 5, 2022 · 1 comment
Labels
A-Federated-Join joins over federation generally suck A-Federation O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements.

Comments

@reivilibre
Copy link
Contributor

reivilibre commented Oct 5, 2022

Part of #12997.

When we send a PDU out over federation, there are some queries that we are obligated to answer if the destination makes them.

This includes being able to give back the prev_events of the events that we send. (This is why we can only send events in a safe chain (c.f. #14057) — we don't want to risk leaking other servers' messages as part of our obligations here.)

There may be other obligations; we'll have to look into these.

Obviously we can't answer /state and /state_ids, which is something that out-of-the-loop homeservers can and will request. We could proxy it from a fully-resident server, but this amounts to downloading the entirety of state, which is what we hoped to avoid in /send_join by introducing partial joins in the first place.
In these cases, we'll just have to error out (perhaps with MSC3895 'Unable'). We are happy to accept that we can't send PDUs to out-of-the-loop homeservers. Besides, since we're syncing with another active homeserver, the out-of-the-loop homeserver is still able to catch up from somewhere anyway.

Related:

Tasks:

@reivilibre reivilibre added A-Federation A-Federated-Join joins over federation generally suck T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements. labels Oct 5, 2022
@squahtx squahtx added O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Major functionality / product severely impaired, no satisfactory workaround. labels Oct 5, 2022
@MatMaul
Copy link
Contributor

MatMaul commented Nov 30, 2022

I am going to close this one as part of #12997.

Backfilling is still not working but this is tracked in another ticket.

@MatMaul MatMaul closed this as completed Nov 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Federated-Join joins over federation generally suck A-Federation O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements.
Projects
None yet
Development

No branches or pull requests

3 participants