mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-26 00:03:09 -06:00
Don't recurse processEvents
This commit is contained in:
parent
cd9d03dee9
commit
1b14f872df
|
|
@ -380,7 +380,6 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event) er
|
||||||
|
|
||||||
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))
|
||||||
|
|
||||||
getServers()
|
getServers()
|
||||||
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)
|
||||||
|
|
@ -436,8 +435,16 @@ withNextEvent:
|
||||||
logger.WithError(err).Warnf("Failed to unmarshal auth event %q", missingAuthEventID)
|
logger.WithError(err).Warnf("Failed to unmarshal auth event %q", missingAuthEventID)
|
||||||
continue withNextServer
|
continue withNextServer
|
||||||
}
|
}
|
||||||
if err = t.processEvent(ctx, ev); err != nil {
|
if err = api.SendEvents(
|
||||||
return fmt.Errorf("recursive t.processEvent: %w", err)
|
context.Background(),
|
||||||
|
t.rsAPI,
|
||||||
|
[]gomatrixserverlib.HeaderedEvent{
|
||||||
|
ev.Headered(stateResp.RoomVersion),
|
||||||
|
},
|
||||||
|
api.DoNotSendToOtherServers,
|
||||||
|
nil,
|
||||||
|
); err != nil {
|
||||||
|
return fmt.Errorf("api.SendEvents: %w", err)
|
||||||
}
|
}
|
||||||
delete(missingAuthEvents, missingAuthEventID)
|
delete(missingAuthEvents, missingAuthEventID)
|
||||||
continue withNextEvent
|
continue withNextEvent
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue