diff --git a/database/middleware.go b/database/middleware.go index c5980ab1ba27ede787540f5ea8c7f33f3877eb97..eb0efbd20f51aa6082808ce5b7492d1fd0b30655 100644 --- a/database/middleware.go +++ b/database/middleware.go @@ -63,7 +63,8 @@ } else { txErr = tx.Commit() } - if errors.Is(err, context.Canceled) && errors.Is(txErr, sqldriver.ErrBadConn) { + if (errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded)) && + errors.Is(txErr, sqldriver.ErrBadConn) { // When a query fails because the context has been canceled, pq will // return "driver: bad connection" from tx.Rollback. Do not panic in // this case. See https://github.com/lib/pq/issues/1137