Skip to content

Commit

Permalink
Allow un-rejecting events on reprocessing
Browse files Browse the repository at this point in the history
  • Loading branch information
neilalexander committed Aug 24, 2022
1 parent 78e5d05 commit 522bd29
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 3 deletions.
8 changes: 8 additions & 0 deletions roomserver/api/wrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (

"github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/util"
"github.com/sirupsen/logrus"
)

// SendEvents to the roomserver The events are written with KindNew.
Expand Down Expand Up @@ -69,6 +70,13 @@ func SendEventWithState(
stateEventIDs[i] = stateEvents[i].EventID()
}

logrus.WithContext(ctx).WithFields(logrus.Fields{
"room_id": event.RoomID(),
"event_id": event.EventID(),
"outliers": len(ires),
"state_ids": len(stateEventIDs),
}).Infof("Submitting %q event to roomserver with state snapshot", event.Type())

ires = append(ires, InputRoomEvent{
Kind: kind,
Event: event,
Expand Down
2 changes: 1 addition & 1 deletion roomserver/storage/postgres/events_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ const insertEventSQL = "" +
"INSERT INTO roomserver_events AS e (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)" +
" VALUES ($1, $2, $3, $4, $5, $6, $7, $8)" +
" ON CONFLICT ON CONSTRAINT roomserver_event_id_unique DO UPDATE" +
" SET is_rejected = $8 WHERE e.event_id = $4 AND e.is_rejected = FALSE" +
" SET is_rejected = $8 WHERE e.event_id = $4 AND e.is_rejected = TRUE" +
" RETURNING event_nid, state_snapshot_nid"

const selectEventSQL = "" +
Expand Down
2 changes: 1 addition & 1 deletion roomserver/storage/sqlite3/events_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ const insertEventSQL = `
INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
ON CONFLICT DO UPDATE
SET is_rejected = $8 WHERE is_rejected = 0
SET is_rejected = $8 WHERE is_rejected = 1
RETURNING event_nid, state_snapshot_nid;
`

Expand Down
2 changes: 1 addition & 1 deletion syncapi/internal/keychange.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ func DeviceListCatchup(
"from": offset,
"to": toOffset,
"response_offset": queryRes.Offset,
}).Debugf("QueryKeyChanges request result: %+v", res.DeviceLists)
}).Tracef("QueryKeyChanges request result: %+v", res.DeviceLists)

return types.StreamPosition(queryRes.Offset), hasNew, nil
}
Expand Down

0 comments on commit 522bd29

Please sign in to comment.