mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-25 07:43:10 -06:00
Find servers more aggressively
This commit is contained in:
parent
0513c4330a
commit
2d15a8a566
|
|
@ -369,21 +369,20 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event) er
|
||||||
return roomNotFoundError{e.RoomID()}
|
return roomNotFoundError{e.RoomID()}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We will need to know this when fetching missing auth or prev events.
|
||||||
|
t.servers = []gomatrixserverlib.ServerName{t.Origin}
|
||||||
|
serverReq := &api.QueryServerJoinedToRoomRequest{
|
||||||
|
RoomID: e.RoomID(),
|
||||||
|
}
|
||||||
|
serverRes := &api.QueryServerJoinedToRoomResponse{}
|
||||||
|
if err := t.rsAPI.QueryServerJoinedToRoom(ctx, serverReq, serverRes); err == nil {
|
||||||
|
t.servers = append(t.servers, serverRes.ServerNames...)
|
||||||
|
logger.Infof("Found %d server(s) to query for missing events", len(t.servers))
|
||||||
|
}
|
||||||
|
|
||||||
if len(stateResp.MissingAuthEventIDs) > 0 {
|
if len(stateResp.MissingAuthEventIDs) > 0 {
|
||||||
logger.Infof("Event refers to %d unknown auth_events", len(stateResp.MissingAuthEventIDs))
|
logger.Infof("Event refers to %d unknown auth_events", len(stateResp.MissingAuthEventIDs))
|
||||||
|
|
||||||
if len(t.servers) == 0 {
|
|
||||||
t.servers = []gomatrixserverlib.ServerName{t.Origin}
|
|
||||||
serverReq := &api.QueryServerJoinedToRoomRequest{
|
|
||||||
RoomID: e.RoomID(),
|
|
||||||
}
|
|
||||||
serverRes := &api.QueryServerJoinedToRoomResponse{}
|
|
||||||
if err := t.rsAPI.QueryServerJoinedToRoom(ctx, serverReq, serverRes); err == nil {
|
|
||||||
t.servers = append(t.servers, serverRes.ServerNames...)
|
|
||||||
logger.Infof("Found %d server(s) to query for missing events", len(t.servers))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := t.retrieveMissingAuthEvents(ctx, e, &stateResp); err != nil {
|
if err := t.retrieveMissingAuthEvents(ctx, e, &stateResp); err != nil {
|
||||||
return fmt.Errorf("t.retrieveMissingAuthEvents: %w", err)
|
return fmt.Errorf("t.retrieveMissingAuthEvents: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue