mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-25 07:43:10 -06:00
Fix number of servers to 5, don't bail making RespState if auth events missing
This commit is contained in:
parent
2051c98195
commit
a5d156fbfb
|
|
@ -421,10 +421,14 @@ func (t *txnReq) retrieveMissingAuthEvents(
|
||||||
missingAuthEvents[missingAuthEventID] = struct{}{}
|
missingAuthEvents[missingAuthEventID] = struct{}{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
numServers := len(t.servers)
|
||||||
|
if numServers > 5 {
|
||||||
|
numServers = 5
|
||||||
|
}
|
||||||
withNextEvent:
|
withNextEvent:
|
||||||
for missingAuthEventID := range missingAuthEvents {
|
for missingAuthEventID := range missingAuthEvents {
|
||||||
withNextServer:
|
withNextServer:
|
||||||
for _, server := range append([]gomatrixserverlib.ServerName{t.Origin}, t.servers...) {
|
for _, server := range append([]gomatrixserverlib.ServerName{t.Origin}, t.servers[:numServers]...) {
|
||||||
logger.Infof("Retrieving missing auth event %q from %q", missingAuthEventID, server)
|
logger.Infof("Retrieving missing auth event %q from %q", missingAuthEventID, server)
|
||||||
tx, err := t.federation.GetEvent(ctx, server, missingAuthEventID)
|
tx, err := t.federation.GetEvent(ctx, server, missingAuthEventID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -973,7 +977,9 @@ func (t *txnReq) createRespStateFromStateIDs(stateIDs gomatrixserverlib.RespStat
|
||||||
for i := range stateIDs.AuthEventIDs {
|
for i := range stateIDs.AuthEventIDs {
|
||||||
ev, ok := t.haveEvents[stateIDs.AuthEventIDs[i]]
|
ev, ok := t.haveEvents[stateIDs.AuthEventIDs[i]]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("missing auth event %s", stateIDs.AuthEventIDs[i])
|
//return nil, fmt.Errorf("missing auth event %s", stateIDs.AuthEventIDs[i])
|
||||||
|
logrus.Warnf("Missing auth event in createRespStateFromStateIDs:", stateIDs.AuthEventIDs[i])
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
respState.AuthEvents[i] = ev.Unwrap()
|
respState.AuthEvents[i] = ev.Unwrap()
|
||||||
}
|
}
|
||||||
|
|
@ -998,7 +1004,11 @@ func (t *txnReq) lookupEvent(ctx context.Context, roomVersion gomatrixserverlib.
|
||||||
}
|
}
|
||||||
var event gomatrixserverlib.Event
|
var event gomatrixserverlib.Event
|
||||||
found := false
|
found := false
|
||||||
for _, serverName := range append([]gomatrixserverlib.ServerName{t.Origin}, t.servers...) {
|
numServers := len(t.servers)
|
||||||
|
if numServers > 5 {
|
||||||
|
numServers = 5
|
||||||
|
}
|
||||||
|
for _, serverName := range append([]gomatrixserverlib.ServerName{t.Origin}, t.servers[:numServers]...) {
|
||||||
txn, err := t.federation.GetEvent(ctx, serverName, missingEventID)
|
txn, err := t.federation.GetEvent(ctx, serverName, missingEventID)
|
||||||
if err != nil || len(txn.PDUs) == 0 {
|
if err != nil || len(txn.PDUs) == 0 {
|
||||||
util.GetLogger(ctx).WithError(err).WithField("event_id", missingEventID).Warn("Failed to get missing /event for event ID")
|
util.GetLogger(ctx).WithError(err).WithField("event_id", missingEventID).Warn("Failed to get missing /event for event ID")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue