aboutsummaryrefslogtreecommitdiff
path: root/roomserver/internal/query
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-08-18 10:37:47 +0100
committerGitHub <noreply@github.com>2022-08-18 10:37:47 +0100
commit59bc0a6f4ed0324da0387118e1761b4551aaf103 (patch)
tree8a0708cf274aae31cb8cb1a9697adb9f96960e57 /roomserver/internal/query
parent8d9c8f11c5c5673d48b8e5308e1f565927bdd341 (diff)
Reprocess rejected input events (#2647)
* Reprocess outliers that were previously rejected * Might as well do all events this way * More useful errors * Fix queries * Tweak condition * Don't wrap errors * Report more useful error * Flatten error on `r.Queryer.QueryStateAfterEvents` * Some more debug logging * Flatten error in `QueryRestrictedJoinAllowed` * Revert "Flatten error in `QueryRestrictedJoinAllowed`" This reverts commit 1238b4184c30e0c31ffb0f364806fa1275aba483. * Tweak `QueryStateAfterEvents` * Handle MissingStateError too * Scope to room * Clean up * Fix the error * Only apply rejection check to outliers
Diffstat (limited to 'roomserver/internal/query')
-rw-r--r--roomserver/internal/query/query.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/roomserver/internal/query/query.go b/roomserver/internal/query/query.go
index f3061c22..f5d8c2d4 100644
--- a/roomserver/internal/query/query.go
+++ b/roomserver/internal/query/query.go
@@ -72,13 +72,10 @@ func (r *Queryer) QueryStateAfterEvents(
prevStates, err := r.DB.StateAtEventIDs(ctx, request.PrevEventIDs)
if err != nil {
- switch err.(type) {
- case types.MissingEventError:
- util.GetLogger(ctx).Errorf("QueryStateAfterEvents: MissingEventError: %s", err)
+ if _, ok := err.(types.MissingEventError); ok {
return nil
- default:
- return err
}
+ return err
}
response.PrevEventsExist = true
@@ -95,6 +92,12 @@ func (r *Queryer) QueryStateAfterEvents(
)
}
if err != nil {
+ if _, ok := err.(types.MissingEventError); ok {
+ return nil
+ }
+ if _, ok := err.(types.MissingStateError); ok {
+ return nil
+ }
return err
}