From d974ff82922fdddae94210b115a7876c17b94479 Mon Sep 17 00:00:00 2001 From: Vishwas Sharma <135056281+vishwas-sharma2480@users.noreply.github.com> Date: Wed, 11 Oct 2023 20:13:25 +0530 Subject: [PATCH] Enable errcheck linter rule (#2470) * Install the CodeSee workflow. Learn more at https://docs.codesee.io * removed the codesee-arch-diagram.yml~ * enable errcheck linter on anew branch because old branch was not made from main branch * made change in file proxy.go located at vmproxy/proxy/proxy.go * made change in file admin/pkg/client/tarball/tarball.go located at admin/pkg/client/tarball/tarball.go * made change in file proxy_test.go located at vmproxy/proxy/proxy_test.go * made change in file proxy_test.go located at vmproxy/proxy/proxy_test.go * made change in file database.go located at managed/services/dbaas/kubernetes/client/database/database.go * made change in file percona_sso_model_helpers.go located at managed/models/percona_sso_model_helpers.go * made change in file api-tests/server/auth_test.go located at api-tests/server/auth_test.go * made change in file api-tests/server/auth_test.go located at api-tests/server/auth_test.go * made change in file admin/commands/summary.go located at admin/commands/summary.go * made change in file job_helpers_test.go located at managed/models/job_helpers_test.go * made change in file datasources.go located at managed/services/telemetry/datasources.go * made change in file datasources.go located at managed/services/telemetry/datasources.go * made change in file main.go located at qan-api2/main.go * made change in file main.go located at qan-api2/main.go * made change in file pgstatmonitor.go located at agent/agents/postgres/pgstatmonitor/pgstatmonitor.go * made change in file ports_registry_test.go located at agent/agents/supervisor/ports_registry_test.go * made change in file victoriametrics.go located at managed/services/victoriametrics/victoriametrics.go * made change in file readyz_test.go located at api-tests/server/readyz_test.go * made change in file version_test.go located at api-tests/server/version_test.go * made change in file client.go located at managed/utils/platform/client.go * made change in file auth_server_test.go located at managed/services/grafana/auth_server_test.go * made change in file auth_server_test.go located at managed/services/grafana/auth_server_test.go * made change in file alertmanager.go located at managed/services/alertmanager/alertmanager.go * made change in file inventory_metrics_test.go located at managed/services/inventory/inventory_metrics_test.go * made change in file client.go located at managed/services/grafana/client.go * made change in file connection_checker.go located at agent/connectionchecker/connection_checker.go * made change in file vmalert.go located at managed/services/vmalert/vmalert.go * made change in file vmalert.go located at managed/services/vmalert/vmalert.go * made change in file metrics.go located at qan-api2/models/metrics.go * changed database.go located at managed/services/dbaas/kubernetes/client/database/ * changed database.go located at managed/services/dbaas/kubernetes/client/database/ * removed commented errcheck linyter * changes after make format * made changes in managed/services/dbaas/kubernetes/client/client.go * made changes in anaged/services/management/dbaas/components_service.go * made changes in managed/services/management/dbaas/version_service_client.go * mae\ke format changes done --------- Co-authored-by: codesee-maps[bot] <86324825+codesee-maps[bot]@users.noreply.github.com> Co-authored-by: Artem Gavrilov --- .golangci.yml | 2 +- admin/commands/summary.go | 6 ++-- admin/pkg/client/tarball/tarball.go | 2 +- .../postgres/pgstatmonitor/pgstatmonitor.go | 2 +- .../agents/supervisor/ports_registry_test.go | 6 ++-- agent/connectionchecker/connection_checker.go | 2 +- api-tests/server/auth_test.go | 32 +++++++++---------- api-tests/server/readyz_test.go | 2 +- api-tests/server/version_test.go | 2 +- managed/models/job_helpers_test.go | 2 +- managed/models/percona_sso_model_helpers.go | 2 +- managed/services/alertmanager/alertmanager.go | 4 +-- .../dbaas/kubernetes/client/client.go | 4 +-- .../kubernetes/client/database/database.go | 2 +- managed/services/grafana/auth_server_test.go | 8 ++--- managed/services/grafana/client.go | 2 +- .../inventory/inventory_metrics_test.go | 2 +- .../management/dbaas/components_service.go | 4 +-- .../dbaas/version_service_client.go | 2 +- managed/services/supervisord/logs.go | 2 +- managed/services/telemetry/datasources.go | 2 +- .../victoriametrics/victoriametrics.go | 2 +- managed/services/vmalert/vmalert.go | 4 +-- managed/utils/platform/client.go | 2 +- qan-api2/db.go | 2 +- qan-api2/main.go | 4 +-- qan-api2/models/metrics.go | 2 +- vmproxy/proxy/proxy.go | 2 +- vmproxy/proxy/proxy_test.go | 4 +-- 29 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 9ba704817d..8b64eff852 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -118,7 +118,7 @@ linters: - revive - paralleltest - gocognit - - errcheck + # ENDTODO run: diff --git a/admin/commands/summary.go b/admin/commands/summary.go index 270d7b7892..7216a65df5 100644 --- a/admin/commands/summary.go +++ b/admin/commands/summary.go @@ -85,7 +85,7 @@ func addFile(zipW *zip.Writer, name string, fileName string) { logrus.Debugf("%s", err) r = io.NopCloser(bytes.NewReader([]byte(err.Error() + "\n"))) } - defer r.Close() //nolint:gosec + defer r.Close() //nolint:gosec,errcheck modTime := time.Now() if fi, _ := os.Stat(fileName); fi != nil { @@ -219,7 +219,7 @@ func addVMAgentTargets(ctx context.Context, zipW *zip.Writer, agentsInfo []*agen addData(zipW, "client/vmagent-targets.html", now, bytes.NewReader([]byte(err.Error()))) return } - defer res.Body.Close() //nolint:gosec + defer res.Body.Close() //nolint:gosec,errcheck html, err = io.ReadAll(res.Body) if err != nil { logrus.Debugf("%s", err) @@ -241,7 +241,7 @@ func getURL(ctx context.Context, url string) ([]byte, error) { if err != nil { return nil, errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck if resp.StatusCode != http.StatusOK { return nil, errors.Errorf("status code: %d", resp.StatusCode) diff --git a/admin/pkg/client/tarball/tarball.go b/admin/pkg/client/tarball/tarball.go index f9651f8bc3..45cd697eb0 100644 --- a/admin/pkg/client/tarball/tarball.go +++ b/admin/pkg/client/tarball/tarball.go @@ -148,7 +148,7 @@ func (b *Base) checksumTarball(ctx context.Context, link string, path string) er return err } - defer res.Body.Close() //nolint:gosec + defer res.Body.Close() //nolint:gosec,errcheck if res.StatusCode != http.StatusOK { return fmt.Errorf("%w: cannot download tarball's sha256sum (http %d)", ErrHTTPStatusNotOk, res.StatusCode) } diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go index 4545595db6..f489af40a8 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go @@ -366,7 +366,7 @@ func getPGSM20Settings(q *reform.Querier) (settings, error) { if err != nil { return nil, err } - defer rows.Close() + defer rows.Close() //nolint:errcheck result := make(settings) for rows.Next() { diff --git a/agent/agents/supervisor/ports_registry_test.go b/agent/agents/supervisor/ports_registry_test.go index 4528a35793..2fd56331bd 100644 --- a/agent/agents/supervisor/ports_registry_test.go +++ b/agent/agents/supervisor/ports_registry_test.go @@ -27,7 +27,7 @@ func TestRegistry(t *testing.T) { r := newPortsRegistry(65000, 65002, []uint16{65000}) l1, err := net.Listen("tcp", "127.0.0.1:65001") require.NoError(t, err) - defer l1.Close() //nolint:gosec + defer l1.Close() //nolint:gosec,errcheck p, err := r.Reserve() assert.NoError(t, err) @@ -46,8 +46,8 @@ func TestRegistry(t *testing.T) { err = r.Release(65002) assert.Equal(t, errPortBusy, err) - l1.Close() - l2.Close() + l1.Close() //nolint:errcheck + l2.Close() //nolint:errcheck p, err = r.Reserve() assert.NoError(t, err) diff --git a/agent/connectionchecker/connection_checker.go b/agent/connectionchecker/connection_checker.go index c59ac148e8..b3c78cc058 100644 --- a/agent/connectionchecker/connection_checker.go +++ b/agent/connectionchecker/connection_checker.go @@ -271,7 +271,7 @@ func (cc *ConnectionChecker) checkExternalConnection(ctx context.Context, uri st res.Error = err.Error() return &res } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck if resp.StatusCode != http.StatusOK { res.Error = fmt.Sprintf("Unexpected HTTP status code: %d. Expected: 200", resp.StatusCode) diff --git a/api-tests/server/auth_test.go b/api-tests/server/auth_test.go index 99158daac5..f8a798a6cb 100644 --- a/api-tests/server/auth_test.go +++ b/api-tests/server/auth_test.go @@ -62,7 +62,7 @@ func TestAuth(t *testing.T) { req, _ := http.NewRequestWithContext(pmmapitests.Context, http.MethodGet, uri.String(), nil) resp, err := http.DefaultClient.Do(req) require.NoError(t, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := httputil.DumpResponse(resp, true) require.NoError(t, err) @@ -119,7 +119,7 @@ func TestSetup(t *testing.T) { req.Header.Set("X-Test-Must-Setup", "1") resp, b := doRequest(t, client, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, 200, resp.StatusCode, "response:\n%s", b) assert.True(t, strings.HasPrefix(string(b), ``), string(b)) @@ -153,7 +153,7 @@ func TestSetup(t *testing.T) { req.Header.Set("X-Test-Must-Setup", "1") resp, b := doRequest(t, client, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, code, resp.StatusCode, "response:\n%s", b) if code == 303 { @@ -179,7 +179,7 @@ func TestSetup(t *testing.T) { req.Header.Set("X-Test-Must-Setup", "1") resp, b := doRequest(t, client, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, 200, resp.StatusCode, "response:\n%s", b) assert.Equal(t, "{}", string(b), "response:\n%s", b) @@ -214,7 +214,7 @@ func TestSwagger(t *testing.T) { require.NoError(t, err) resp, _ := doRequest(t, http.DefaultClient, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.NoError(t, err) assert.Equal(t, 200, resp.StatusCode) @@ -231,7 +231,7 @@ func TestSwagger(t *testing.T) { require.NoError(t, err) resp, _ := doRequest(t, http.DefaultClient, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.NoError(t, err) assert.Equal(t, 200, resp.StatusCode) @@ -318,7 +318,7 @@ func TestPermissions(t *testing.T) { resp, err := http.DefaultClient.Do(req) require.NoError(t, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, user.statusCode, resp.StatusCode) }) @@ -340,7 +340,7 @@ func TestPermissions(t *testing.T) { resp, err := http.DefaultClient.Do(req) require.NoError(t, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, user.statusCode, resp.StatusCode) }) @@ -360,7 +360,7 @@ func TestPermissions(t *testing.T) { resp, err := http.DefaultClient.Do(req) require.NoError(t, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, user.statusCode, resp.StatusCode) }) @@ -374,7 +374,7 @@ func doRequest(tb testing.TB, client *http.Client, req *http.Request) (*http.Res resp, err := client.Do(req) require.NoError(tb, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) require.NoError(tb, err) @@ -400,7 +400,7 @@ func deleteUser(t *testing.T, userID int) { require.NoError(t, err) resp, b := doRequest(t, http.DefaultClient, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to delete user, status code: %d, response: %s", resp.StatusCode, b) } @@ -426,7 +426,7 @@ func createUser(t *testing.T, login string) int { req.Header.Set("Content-Type", "application/json; charset=utf-8") resp, b := doRequest(t, http.DefaultClient, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to create user, status code: %d, response: %s", resp.StatusCode, b) var m map[string]interface{} @@ -453,7 +453,7 @@ func setRole(t *testing.T, userID int, role string) { req.Header.Set("Content-Type", "application/json; charset=utf-8") resp, b := doRequest(t, http.DefaultClient, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to set role for user, response: %s", b) } @@ -469,7 +469,7 @@ func deleteAPIKey(t *testing.T, apiKeyID int) { require.NoError(t, err) resp, b := doRequest(t, http.DefaultClient, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to delete API Key, status code: %d, response: %s", resp.StatusCode, b) } @@ -493,7 +493,7 @@ func createAPIKeyWithRole(t *testing.T, name, role string) (int, string) { req.Header.Set("Content-Type", "application/json; charset=utf-8") resp, b := doRequest(t, http.DefaultClient, req) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to create API key, status code: %d, response: %s", resp.StatusCode, b) @@ -509,7 +509,7 @@ func createAPIKeyWithRole(t *testing.T, name, role string) (int, string) { req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey)) resp1, b := doRequest(t, http.DefaultClient, req) - defer resp1.Body.Close() //nolint:gosec + defer resp1.Body.Close() //nolint:gosec,errcheck require.Equalf(t, http.StatusOK, resp1.StatusCode, "failed to get API key, status code: %d, response: %s", resp1.StatusCode, b) diff --git a/api-tests/server/readyz_test.go b/api-tests/server/readyz_test.go index 25a05f13ad..066f401b82 100644 --- a/api-tests/server/readyz_test.go +++ b/api-tests/server/readyz_test.go @@ -52,7 +52,7 @@ func TestReadyz(t *testing.T) { req, _ := http.NewRequestWithContext(pmmapitests.Context, http.MethodGet, uri.String(), nil) resp, err := http.DefaultClient.Do(req) require.NoError(t, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) require.NoError(t, err) diff --git a/api-tests/server/version_test.go b/api-tests/server/version_test.go index 3ac20024b2..46dbbf9d95 100644 --- a/api-tests/server/version_test.go +++ b/api-tests/server/version_test.go @@ -50,7 +50,7 @@ func TestVersion(t *testing.T) { req, _ := http.NewRequestWithContext(pmmapitests.Context, http.MethodGet, uri.String(), nil) resp, err := http.DefaultClient.Do(req) require.NoError(t, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) require.NoError(t, err) diff --git a/managed/models/job_helpers_test.go b/managed/models/job_helpers_test.go index c554b04e7a..7b179faba7 100644 --- a/managed/models/job_helpers_test.go +++ b/managed/models/job_helpers_test.go @@ -73,7 +73,7 @@ func TestJobs(t *testing.T) { t.Run("find", func(t *testing.T) { findTX, err := db.Begin() require.NoError(t, err) - defer findTX.Rollback() + defer findTX.Rollback() //nolint:errcheck const jobsCount = 3 jobs := make([]*models.Job, 0, jobsCount) diff --git a/managed/models/percona_sso_model_helpers.go b/managed/models/percona_sso_model_helpers.go index 55cda53440..5d4063a7e2 100644 --- a/managed/models/percona_sso_model_helpers.go +++ b/managed/models/percona_sso_model_helpers.go @@ -87,7 +87,7 @@ func (s *PerconaSSODetails) refreshAndGetAccessToken(ctx context.Context, q *ref if err != nil { return nil, err } - defer res.Body.Close() //nolint:gosec + defer res.Body.Close() //nolint:gosec,errcheck bodyBytes, err := io.ReadAll(res.Body) if err != nil { diff --git a/managed/services/alertmanager/alertmanager.go b/managed/services/alertmanager/alertmanager.go index 8a52c24a7a..a49a5c2d65 100644 --- a/managed/services/alertmanager/alertmanager.go +++ b/managed/services/alertmanager/alertmanager.go @@ -221,7 +221,7 @@ func (svc *Service) reload(ctx context.Context) error { if err != nil { return errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) svc.l.Debugf("Alertmanager reload: %s", b) @@ -859,7 +859,7 @@ func (svc *Service) IsReady(ctx context.Context) error { if err != nil { return errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) svc.l.Debugf("Alertmanager ready: %s", b) diff --git a/managed/services/dbaas/kubernetes/client/client.go b/managed/services/dbaas/kubernetes/client/client.go index 832023e00b..f29787d7df 100644 --- a/managed/services/dbaas/kubernetes/client/client.go +++ b/managed/services/dbaas/kubernetes/client/client.go @@ -230,7 +230,7 @@ func (c *Client) setup() error { } // Set PATH variable to make aws-iam-authenticator executable path := fmt.Sprintf("%s:%s", os.Getenv("PATH"), dbaasToolPath) - os.Setenv("PATH", path) + os.Setenv("PATH", path) //nolint:errcheck c.namespace = namespace return c.initOperatorClients() } @@ -567,7 +567,7 @@ func tabbedString(f func(io.Writer) error) (string, error) { return "", err } - out.Flush() + out.Flush() //nolint:errcheck str := buf.String() return str, nil } diff --git a/managed/services/dbaas/kubernetes/client/database/database.go b/managed/services/dbaas/kubernetes/client/database/database.go index b332f0f1e9..3b659927ab 100644 --- a/managed/services/dbaas/kubernetes/client/database/database.go +++ b/managed/services/dbaas/kubernetes/client/database/database.go @@ -50,7 +50,7 @@ func NewForConfig(c *rest.Config) (*DatabaseClusterClient, error) { config.UserAgent = rest.DefaultKubernetesUserAgent() addToScheme.Do(func() { - dbaasv1.SchemeBuilder.AddToScheme(scheme.Scheme) + dbaasv1.SchemeBuilder.AddToScheme(scheme.Scheme) //nolint:errcheck metav1.AddToGroupVersion(scheme.Scheme, dbaasv1.GroupVersion) }) diff --git a/managed/services/grafana/auth_server_test.go b/managed/services/grafana/auth_server_test.go index 77d341a36b..6a3994538d 100644 --- a/managed/services/grafana/auth_server_test.go +++ b/managed/services/grafana/auth_server_test.go @@ -80,7 +80,7 @@ func TestAuthServerMustSetup(t *testing.T) { assert.True(t, s.mustSetup(rw, req, logrus.WithField("test", t.Name()))) resp := rw.Result() - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, 401, resp.StatusCode) assert.Equal(t, "1", resp.Header.Get("X-Must-Setup")) assert.Equal(t, "", resp.Header.Get("Location")) @@ -97,7 +97,7 @@ func TestAuthServerMustSetup(t *testing.T) { assert.True(t, s.mustSetup(rw, req, logrus.WithField("test", t.Name()))) resp := rw.Result() - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, 303, resp.StatusCode) assert.Equal(t, "", resp.Header.Get("X-Must-Setup")) assert.Equal(t, "/setup", resp.Header.Get("Location")) @@ -123,7 +123,7 @@ func TestAuthServerMustSetup(t *testing.T) { assert.False(t, s.mustSetup(rw, req, logrus.WithField("test", t.Name()))) resp := rw.Result() - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, 200, resp.StatusCode) assert.Equal(t, "", resp.Header.Get("X-Must-Setup")) assert.Equal(t, "", resp.Header.Get("Location")) @@ -148,7 +148,7 @@ func TestAuthServerMustSetup(t *testing.T) { assert.False(t, s.mustSetup(rw, req, logrus.WithField("test", t.Name()))) resp := rw.Result() - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck assert.Equal(t, 200, resp.StatusCode) assert.Equal(t, "", resp.Header.Get("X-Must-Setup")) assert.Equal(t, "", resp.Header.Get("Location")) diff --git a/managed/services/grafana/client.go b/managed/services/grafana/client.go index 20333cf1bb..e65b196974 100644 --- a/managed/services/grafana/client.go +++ b/managed/services/grafana/client.go @@ -132,7 +132,7 @@ func (c *Client) do(ctx context.Context, method, path, rawQuery string, headers if err != nil { return errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) if err != nil { diff --git a/managed/services/inventory/inventory_metrics_test.go b/managed/services/inventory/inventory_metrics_test.go index 939ccc7b07..0717edcbd8 100644 --- a/managed/services/inventory/inventory_metrics_test.go +++ b/managed/services/inventory/inventory_metrics_test.go @@ -67,7 +67,7 @@ func TestNewInventoryMetricsCollector(t *testing.T) { require.NoError(t, err) resp, err := client.Do(req) require.NoError(t, err) - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck body, err := io.ReadAll(resp.Body) require.NoError(t, err) diff --git a/managed/services/management/dbaas/components_service.go b/managed/services/management/dbaas/components_service.go index e33497aabe..38441b1226 100644 --- a/managed/services/management/dbaas/components_service.go +++ b/managed/services/management/dbaas/components_service.go @@ -537,7 +537,7 @@ func imageExists(ctx context.Context, image string) (bool, error) { if err != nil { panic(err) } - defer cli.Close() + defer cli.Close() //nolint:errcheck reader, err := cli.ImagePull(ctx, image, types.ImagePullOptions{}) if err != nil { @@ -548,7 +548,7 @@ func imageExists(ctx context.Context, image string) (bool, error) { return false, err } - reader.Close() + reader.Close() //nolint:errcheck return true, nil } diff --git a/managed/services/management/dbaas/version_service_client.go b/managed/services/management/dbaas/version_service_client.go index 934d9bebba..b3aae4d2e0 100644 --- a/managed/services/management/dbaas/version_service_client.go +++ b/managed/services/management/dbaas/version_service_client.go @@ -158,7 +158,7 @@ func (c *VersionServiceClient) Matrix(ctx context.Context, params componentsPara if err != nil { return nil, err } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck body, err := io.ReadAll(resp.Body) if err != nil { return nil, err diff --git a/managed/services/supervisord/logs.go b/managed/services/supervisord/logs.go index 0445ab97cd..fc76f99228 100644 --- a/managed/services/supervisord/logs.go +++ b/managed/services/supervisord/logs.go @@ -374,7 +374,7 @@ func readURL(ctx context.Context, url string) ([]byte, error) { if err != nil { return nil, errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) if err != nil { diff --git a/managed/services/telemetry/datasources.go b/managed/services/telemetry/datasources.go index 01f5e75996..8eefc3c38e 100644 --- a/managed/services/telemetry/datasources.go +++ b/managed/services/telemetry/datasources.go @@ -88,7 +88,7 @@ func fetchMetricsFromDB(ctx context.Context, l *logrus.Entry, timeout time.Durat if err != nil { return nil, err } - defer rows.Close() + defer rows.Close() //nolint:errcheck columns, err := rows.Columns() if err != nil { diff --git a/managed/services/victoriametrics/victoriametrics.go b/managed/services/victoriametrics/victoriametrics.go index 746e3008d7..3e56210e35 100644 --- a/managed/services/victoriametrics/victoriametrics.go +++ b/managed/services/victoriametrics/victoriametrics.go @@ -440,7 +440,7 @@ func (svc *Service) IsReady(ctx context.Context) error { if err != nil { return errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) svc.l.Debugf("VM health: %s", b) diff --git a/managed/services/vmalert/vmalert.go b/managed/services/vmalert/vmalert.go index f5c86c03e0..382821243f 100644 --- a/managed/services/vmalert/vmalert.go +++ b/managed/services/vmalert/vmalert.go @@ -159,7 +159,7 @@ func (svc *Service) reload(ctx context.Context) error { if err != nil { return errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) svc.l.Debugf("VMAlert reload: %s", b) @@ -185,7 +185,7 @@ func (svc *Service) IsReady(ctx context.Context) error { if err != nil { return errors.WithStack(err) } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck b, err := io.ReadAll(resp.Body) svc.l.Debugf("VMAlert health: %s", b) diff --git a/managed/utils/platform/client.go b/managed/utils/platform/client.go index c199e501e0..685c044d92 100644 --- a/managed/utils/platform/client.go +++ b/managed/utils/platform/client.go @@ -259,7 +259,7 @@ func (c *Client) makeRequest(ctx context.Context, accessToken, method, path stri return nil, err } - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck bodyBytes, err := io.ReadAll(resp.Body) if err != nil { diff --git a/qan-api2/db.go b/qan-api2/db.go index 8c87408258..d121ba6cb6 100644 --- a/qan-api2/db.go +++ b/qan-api2/db.go @@ -88,7 +88,7 @@ func createDB(dsn string) error { if err != nil { return err } - defer defaultDB.Close() + defer defaultDB.Close() //nolint:errcheck result, err := defaultDB.Exec(fmt.Sprintf(`CREATE DATABASE %s ENGINE = Atomic`, databaseName)) if err != nil { diff --git a/qan-api2/main.go b/qan-api2/main.go index c155e85c1e..5b151202e4 100644 --- a/qan-api2/main.go +++ b/qan-api2/main.go @@ -186,7 +186,7 @@ func runJSONServer(ctx context.Context, grpcBindF, jsonBindF string) { ctx, cancel := context.WithTimeout(context.Background(), shutdownTimeout) if err := server.Shutdown(ctx); err != nil { //nolint:contextcheck l.Errorf("Failed to shutdown gracefully: %s \n", err) - server.Close() + server.Close() //nolint:errcheck } cancel() } @@ -228,7 +228,7 @@ func runDebugServer(ctx context.Context, debugBindF string) { l.Panic(err) } http.HandleFunc("/debug", func(rw http.ResponseWriter, req *http.Request) { - rw.Write(buf.Bytes()) + rw.Write(buf.Bytes()) //nolint:errcheck }) l.Infof("Starting server on http://%s/debug\nRegistered handlers:\n\t%s", debugBindF, strings.Join(handlers, "\n\t")) diff --git a/qan-api2/models/metrics.go b/qan-api2/models/metrics.go index 70dac41689..6daea0014f 100644 --- a/qan-api2/models/metrics.go +++ b/qan-api2/models/metrics.go @@ -1168,7 +1168,7 @@ func (m *Metrics) GetSelectedQueryMetadata(ctx context.Context, periodStartFromS if err != nil { return res, errors.Wrap(err, cannotExecute) } - defer rows.Close() + defer rows.Close() //nolint:errcheck metadata := make(map[string]map[string]struct{}) columnNames, err := rows.Columns() diff --git a/vmproxy/proxy/proxy.go b/vmproxy/proxy/proxy.go index dbc1aa0730..4ad7655ae8 100644 --- a/vmproxy/proxy/proxy.go +++ b/vmproxy/proxy/proxy.go @@ -70,7 +70,7 @@ func failOnInvalidHeader(rw http.ResponseWriter, req *http.Request, headerName s if _, err := parseFilters(filters); err != nil { rw.Header().Set("Content-Type", "text/plain; charset=utf-8") rw.WriteHeader(http.StatusPreconditionFailed) - io.WriteString(rw, fmt.Sprintf("Failed to parse %s header", headerName)) + io.WriteString(rw, fmt.Sprintf("Failed to parse %s header", headerName)) //nolint:errcheck return true } } diff --git a/vmproxy/proxy/proxy_test.go b/vmproxy/proxy/proxy_test.go index daa35dbd5b..4252796010 100644 --- a/vmproxy/proxy/proxy_test.go +++ b/vmproxy/proxy/proxy_test.go @@ -65,7 +65,7 @@ func TestProxy(t *testing.T) { handler.ServeHTTP(rec, req) resp := rec.Result() - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.Equal(t, resp.StatusCode, http.StatusOK) }) @@ -138,7 +138,7 @@ func TestProxy(t *testing.T) { handler.ServeHTTP(rec, req) resp := rec.Result() - defer resp.Body.Close() //nolint:gosec + defer resp.Body.Close() //nolint:gosec,errcheck require.Equal(t, tc.expectedStatus, resp.StatusCode) })