Log errors from rows.Close (#920)

* Log errors from rows.Close

* fixed imports

* Added contextual messages

* fixed review changes
This commit is contained in:
Prateek Sachan 2020-03-18 15:47:18 +05:30 committed by GitHub
parent c2bd0b97b3
commit c019ad7086
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 118 additions and 69 deletions

View file

@ -118,7 +118,7 @@ func (s *accountDataStatements) selectAccountDataInRange(
if err != nil {
return
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectAccountDataInRange: rows.close() failed")
for rows.Next() {
var dataType string

View file

@ -17,6 +17,8 @@ package postgres
import (
"context"
"database/sql"
"github.com/matrix-org/dendrite/common"
)
const backwardExtremitiesSchema = `
@ -91,7 +93,7 @@ func (s *backwardExtremitiesStatements) selectBackwardExtremitiesForRoom(
if err != nil {
return
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectBackwardExtremitiesForRoom: rows.close() failed")
for rows.Next() {
var eID string

View file

@ -140,7 +140,7 @@ func (s *currentRoomStateStatements) selectJoinedUsers(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectJoinedUsers: rows.close() failed")
result := make(map[string][]string)
for rows.Next() {
@ -168,7 +168,7 @@ func (s *currentRoomStateStatements) selectRoomIDsWithMembership(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectRoomIDsWithMembership: rows.close() failed")
var result []string
for rows.Next() {
@ -198,7 +198,7 @@ func (s *currentRoomStateStatements) selectCurrentState(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectCurrentState: rows.close() failed")
return rowsToEvents(rows)
}
@ -248,7 +248,7 @@ func (s *currentRoomStateStatements) selectEventsWithEventIDs(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectEventsWithEventIDs: rows.close() failed")
return rowsToStreamEvents(rows)
}

View file

@ -115,7 +115,7 @@ func (s *inviteEventsStatements) selectInviteEventsInRange(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectInviteEventsInRange: rows.close() failed")
result := map[string]gomatrixserverlib.Event{}
for rows.Next() {
var (

View file

@ -169,7 +169,7 @@ func (s *outputRoomEventsStatements) selectStateInRange(
if err != nil {
return nil, nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectStateInRange: rows.close() failed")
// Fetch all the state change events for all rooms between the two positions then loop each event and:
// - Keep a cache of the event by ID (99% of state change events are for the event itself)
// - For each room ID, build up an array of event IDs which represents cumulative adds/removes
@ -303,7 +303,7 @@ func (s *outputRoomEventsStatements) selectRecentEvents(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectRecentEvents: rows.close() failed")
events, err := rowsToStreamEvents(rows)
if err != nil {
return nil, err
@ -330,7 +330,7 @@ func (s *outputRoomEventsStatements) selectEarlyEvents(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectEarlyEvents: rows.close() failed")
events, err := rowsToStreamEvents(rows)
if err != nil {
return nil, err
@ -354,7 +354,7 @@ func (s *outputRoomEventsStatements) selectEvents(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectEvents: rows.close() failed")
return rowsToStreamEvents(rows)
}

View file

@ -18,6 +18,8 @@ import (
"context"
"database/sql"
"github.com/matrix-org/dendrite/common"
"github.com/matrix-org/dendrite/syncapi/types"
"github.com/matrix-org/gomatrixserverlib"
)
@ -134,7 +136,7 @@ func (s *outputRoomEventsTopologyStatements) selectEventIDsInRange(
} else if err != nil {
return
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectEventIDsInRange: rows.close() failed")
// Return the IDs.
var eventID string
@ -177,7 +179,7 @@ func (s *outputRoomEventsTopologyStatements) selectEventIDsFromPosition(
} else if err != nil {
return
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectEventIDsFromPosition: rows.close() failed")
// Return the IDs.
var eventID string
for rows.Next() {

View file

@ -19,6 +19,8 @@ import (
"context"
"database/sql"
"github.com/matrix-org/dendrite/common"
"github.com/matrix-org/dendrite/syncapi/types"
"github.com/matrix-org/gomatrixserverlib"
)
@ -102,7 +104,7 @@ func (s *accountDataStatements) selectAccountDataInRange(
if err != nil {
return
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectAccountDataInRange: rows.close() failed")
var entries int

View file

@ -126,7 +126,7 @@ func (s *currentRoomStateStatements) selectJoinedUsers(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectJoinedUsers: rows.close() failed")
result := make(map[string][]string)
for rows.Next() {
@ -154,7 +154,7 @@ func (s *currentRoomStateStatements) selectRoomIDsWithMembership(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectRoomIDsWithMembership: rows.close() failed")
var result []string
for rows.Next() {
@ -184,7 +184,7 @@ func (s *currentRoomStateStatements) selectCurrentState(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectCurrentState: rows.close() failed")
return rowsToEvents(rows)
}
@ -238,7 +238,7 @@ func (s *currentRoomStateStatements) selectEventsWithEventIDs(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectEventsWithEventIDs: rows.close() failed")
return rowsToStreamEvents(rows)
}

View file

@ -113,7 +113,7 @@ func (s *inviteEventsStatements) selectInviteEventsInRange(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectInviteEventsInRange: rows.close() failed")
result := map[string]gomatrixserverlib.Event{}
for rows.Next() {
var (

View file

@ -316,7 +316,7 @@ func (s *outputRoomEventsStatements) selectRecentEvents(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectRecentEvents: rows.close() failed")
events, err := rowsToStreamEvents(rows)
if err != nil {
return nil, err
@ -343,7 +343,7 @@ func (s *outputRoomEventsStatements) selectEarlyEvents(
if err != nil {
return nil, err
}
defer rows.Close() // nolint: errcheck
defer common.CloseAndLogIfError(ctx, rows, "selectEarlyEvents: rows.close() failed")
events, err := rowsToStreamEvents(rows)
if err != nil {
return nil, err
@ -372,7 +372,7 @@ func (s *outputRoomEventsStatements) selectEvents(
if streamEvents, err := rowsToStreamEvents(rows); err == nil {
returnEvents = append(returnEvents, streamEvents...)
}
rows.Close() // nolint: errcheck
common.CloseAndLogIfError(ctx, rows, "selectEvents: rows.close() failed")
}
return returnEvents, nil
}