From 4e8f1a7d3f3c37a65d44def5f4d762c1a438b9c6 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 15 Jun 2022 11:14:45 +0100 Subject: [PATCH] Stronger sorting --- roomserver/state/state.go | 1 - roomserver/storage/shared/storage.go | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roomserver/state/state.go b/roomserver/state/state.go index 4ef30380f..d805d81c8 100644 --- a/roomserver/state/state.go +++ b/roomserver/state/state.go @@ -1036,7 +1036,6 @@ func (v *StateResolution) loadStateEvents( eventNIDs = append(eventNIDs, entry.EventNID) } } - sort.Sort(eventNIDs) events, err := v.db.Events(ctx, eventNIDs) if err != nil { return nil, nil, err diff --git a/roomserver/storage/shared/storage.go b/roomserver/storage/shared/storage.go index abcd3403b..3d165a197 100644 --- a/roomserver/storage/shared/storage.go +++ b/roomserver/storage/shared/storage.go @@ -433,8 +433,9 @@ func (d *Database) Events( } func (d *Database) events( - ctx context.Context, txn *sql.Tx, inputEventNIDs []types.EventNID, + ctx context.Context, txn *sql.Tx, inputEventNIDs types.EventNIDs, ) ([]types.Event, error) { + sort.Sort(inputEventNIDs) events := make(map[types.EventNID]*gomatrixserverlib.Event, len(inputEventNIDs)) eventNIDs := make([]types.EventNID, 0, len(inputEventNIDs)) for _, nid := range inputEventNIDs { @@ -496,7 +497,7 @@ func (d *Database) events( for _, nid := range inputEventNIDs { event, ok := events[nid] if !ok || event == nil { - panic("missing event") + return nil, fmt.Errorf("event %d missing", nid) } results = append(results, types.Event{ EventNID: nid,