diff --git a/clientapi/consumers/roomserver.go b/clientapi/consumers/roomserver.go index eabe21a5e..6d5bb09a6 100644 --- a/clientapi/consumers/roomserver.go +++ b/clientapi/consumers/roomserver.go @@ -71,7 +71,6 @@ func (s *OutputRoomEventConsumer) Start() error { func (s *OutputRoomEventConsumer) onMessage(msg *sarama.ConsumerMessage) error { // Parse out the event JSON var output api.OutputEvent - output.NewRoomEvent = &api.OutputNewRoomEvent{} if err := json.Unmarshal(msg.Value, &output); err != nil { // If the message was invalid, log it and move on to the next message in the stream log.WithError(err).Errorf("roomserver output log: message parse failure") diff --git a/federationapi/routing/join.go b/federationapi/routing/join.go index d88ef6af5..1c225133e 100644 --- a/federationapi/routing/join.go +++ b/federationapi/routing/join.go @@ -99,14 +99,12 @@ func MakeJoin( } } - resultMap := map[string]interface{}{ - "event": builder, - "room_version": verRes.RoomVersion, - } - return util.JSONResponse{ Code: http.StatusOK, - JSON: resultMap, + JSON: map[string]interface{}{ + "event": builder, + "room_version": verRes.RoomVersion, + }, } } @@ -123,6 +121,7 @@ func SendJoin( verReq := api.QueryRoomVersionForRoomRequest{RoomID: roomID} verRes := api.QueryRoomVersionForRoomResponse{} if err := query.QueryRoomVersionForRoom(httpReq.Context(), &verReq, &verRes); err != nil { + util.GetLogger(httpReq.Context()).WithError(err).Error("query.QueryRoomVersionForRoom failed") return util.JSONResponse{ Code: http.StatusInternalServerError, JSON: jsonerror.InternalServerError(), diff --git a/roomserver/storage/postgres/state_block_table.go b/roomserver/storage/postgres/state_block_table.go index 741d1800e..b9246b763 100644 --- a/roomserver/storage/postgres/state_block_table.go +++ b/roomserver/storage/postgres/state_block_table.go @@ -51,8 +51,7 @@ CREATE TABLE IF NOT EXISTS roomserver_state_block ( const insertStateDataSQL = "" + "INSERT INTO roomserver_state_block (state_block_nid, event_type_nid, event_state_key_nid, event_nid)" + - " VALUES ($1, $2, $3, $4)" + - " ON CONFLICT DO NOTHING" + " VALUES ($1, $2, $3, $4)" const selectNextStateBlockNIDSQL = "" + "SELECT nextval('roomserver_state_block_nid_seq')" diff --git a/roomserver/storage/sqlite3/state_block_table.go b/roomserver/storage/sqlite3/state_block_table.go index bcfd7c546..cc7c75733 100644 --- a/roomserver/storage/sqlite3/state_block_table.go +++ b/roomserver/storage/sqlite3/state_block_table.go @@ -39,8 +39,7 @@ const stateDataSchema = ` const insertStateDataSQL = "" + "INSERT INTO roomserver_state_block (state_block_nid, event_type_nid, event_state_key_nid, event_nid)" + - " VALUES ($1, $2, $3, $4)" + - " ON CONFLICT DO NOTHING" + " VALUES ($1, $2, $3, $4)" const selectNextStateBlockNIDSQL = ` SELECT IFNULL(MAX(state_block_nid), 0) + 1 FROM roomserver_state_block diff --git a/syncapi/routing/messages.go b/syncapi/routing/messages.go index dbe6d7dbf..c9d62477d 100644 --- a/syncapi/routing/messages.go +++ b/syncapi/routing/messages.go @@ -373,7 +373,7 @@ func (r *messagesReq) backfill(fromEventIDs []string, limit int) ([]gomatrixserv return nil, fmt.Errorf("Cannot find server to backfill from: %w", err) } - pdus := make([]gomatrixserverlib.HeaderedEvent, 0) + headered := make([]gomatrixserverlib.HeaderedEvent, 0) // If the roomserver responded with at least one server that isn't us, // send it a request for backfill. @@ -390,16 +390,16 @@ func (r *messagesReq) backfill(fromEventIDs []string, limit int) ([]gomatrixserv if e != nil { continue } - pdus = append(pdus, event.Headered(verRes.RoomVersion)) + headered = append(headered, event.Headered(verRes.RoomVersion)) } - util.GetLogger(r.ctx).WithField("server", srvToBackfillFrom).WithField("new_events", len(pdus)).Info("Storing new events from backfill") + util.GetLogger(r.ctx).WithField("server", srvToBackfillFrom).WithField("new_events", len(headered)).Info("Storing new events from backfill") // Store the events in the database, while marking them as unfit to show // up in responses to sync requests. - for i := range pdus { + for i := range headered { if _, err = r.db.WriteEvent( r.ctx, - &pdus[i], + &headered[i], []gomatrixserverlib.HeaderedEvent{}, []string{}, []string{}, @@ -409,7 +409,7 @@ func (r *messagesReq) backfill(fromEventIDs []string, limit int) ([]gomatrixserv } } - return pdus, nil + return headered, nil } func (r *messagesReq) serverToBackfillFrom(fromEventIDs []string) (gomatrixserverlib.ServerName, error) {