Skip to content

Commit a490967

Browse files
authored
fixing some of the missed/ignored errors (#446)
* adding closer function * handling some missed errors * imports formatting
1 parent 9825f14 commit a490967

File tree

21 files changed

+229
-41
lines changed

21 files changed

+229
-41
lines changed

build-index/cmd/cmd.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"github.com/uber/kraken/metrics"
3333
"github.com/uber/kraken/nginx"
3434
"github.com/uber/kraken/origin/blobclient"
35+
"github.com/uber/kraken/utils/closers"
3536
"github.com/uber/kraken/utils/configutil"
3637
"github.com/uber/kraken/utils/log"
3738

@@ -116,7 +117,10 @@ func Run(flags *Flags, opts ...Option) {
116117
log.SetGlobalLogger(overrides.logger.Sugar())
117118
} else {
118119
zlog := log.ConfigureLogger(config.ZapLogging)
119-
defer zlog.Sync()
120+
defer func() {
121+
// if flushing logs fails, we can't do anything about the error.
122+
_ = zlog.Sync() //nolint:errcheck
123+
}()
120124
}
121125

122126
stats := overrides.metrics
@@ -126,7 +130,7 @@ func Run(flags *Flags, opts ...Option) {
126130
log.Fatalf("Failed to init metrics: %s", err)
127131
}
128132
stats = s
129-
defer closer.Close()
133+
defer closers.Close(closer)
130134
}
131135

132136
go metrics.EmitVersion(stats)

build-index/tagserver/server.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import (
4040
"github.com/uber/kraken/utils/httputil"
4141
"github.com/uber/kraken/utils/listener"
4242
"github.com/uber/kraken/utils/log"
43+
"go.uber.org/zap"
4344

4445
"github.com/go-chi/chi"
4546
chimiddleware "github.com/go-chi/chi/middleware"
@@ -142,20 +143,30 @@ func (s *Server) ListenAndServe() error {
142143
}
143144

144145
func (s *Server) healthHandler(w http.ResponseWriter, r *http.Request) error {
145-
fmt.Fprintln(w, "OK")
146+
_, err := fmt.Fprintln(w, "OK")
147+
if err != nil {
148+
log.Desugar().Error("Health check write failed", zap.Error(err))
149+
return handler.Errorf("write health check: %s", err)
150+
}
146151
return nil
147152
}
148153

149154
func (s *Server) readinessCheckHandler(w http.ResponseWriter, r *http.Request) error {
150155
err := s.backends.CheckReadiness()
151156
if err != nil {
157+
log.Desugar().Error("Backends readiness check failed", zap.Error(err))
152158
return handler.Errorf("not ready to serve traffic: %s", err).Status(http.StatusServiceUnavailable)
153159
}
154160
err = s.localOriginClient.CheckReadiness()
155161
if err != nil {
162+
log.Desugar().Error("Origin readiness check failed", zap.Error(err))
156163
return handler.Errorf("not ready to serve traffic: %s", err).Status(http.StatusServiceUnavailable)
157164
}
158-
fmt.Fprintln(w, "OK")
165+
_, err = fmt.Fprintln(w, "OK")
166+
if err != nil {
167+
log.Desugar().Error("Readiness check write failed", zap.Error(err))
168+
return handler.Errorf("write readiness check: %s", err)
169+
}
159170
return nil
160171
}
161172

core/digester_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ func TestFromBytes(t *testing.T) {
4040
require := require.New(t)
4141

4242
d := NewDigester()
43-
d.FromBytes([]byte(_testStr))
43+
_, err := d.FromBytes([]byte(_testStr))
44+
require.NoError(err)
4445

4546
hexDigest := d.Digest().Hex()
4647
require.NoError(ValidateSHA256(hexDigest))
@@ -52,7 +53,8 @@ func TestFromReader(t *testing.T) {
5253

5354
d := NewDigester()
5455
r := strings.NewReader(_testStr)
55-
d.FromReader(r)
56+
_, err := d.FromReader(r)
57+
require.NoError(err)
5658

5759
hexDigest := d.Digest().Hex()
5860
require.NoError(ValidateSHA256(hexDigest))

lib/backend/gcsbackend/client.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"io"
2121
"path"
2222

23+
"github.com/uber/kraken/utils/closers"
24+
2325
"github.com/uber-go/tally"
2426
"github.com/uber/kraken/core"
2527
"github.com/uber/kraken/lib/backend"
@@ -245,7 +247,7 @@ func (g *GCSImpl) Download(objectName string, w io.Writer) (int64, error) {
245247
}
246248
return 0, err
247249
}
248-
defer rc.Close()
250+
defer closers.Close(rc)
249251

250252
r, err := io.CopyN(w, rc, int64(g.config.BufferGuard))
251253
if err != nil && err != io.EOF {

lib/backend/httpbackend/http.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"io"
2121
"time"
2222

23+
"github.com/uber/kraken/utils/closers"
24+
2325
"github.com/uber-go/tally"
2426
"github.com/uber/kraken/core"
2527
"github.com/uber/kraken/lib/backend"
@@ -105,7 +107,7 @@ func (c *Client) Download(namespace, name string, dst io.Writer) error {
105107
}
106108
return err
107109
}
108-
defer resp.Body.Close()
110+
defer closers.Close(resp.Body)
109111
if _, err := io.Copy(dst, resp.Body); err != nil {
110112
return fmt.Errorf("copy: %s", err)
111113
}

lib/backend/httpbackend/http_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ func TestHttpDownloadFileNotFound(t *testing.T) {
6868
r := chi.NewRouter()
6969
r.Get("/data/{blob}", func(w http.ResponseWriter, req *http.Request) {
7070
w.WriteHeader(http.StatusNotFound)
71-
w.Write([]byte("file not found"))
71+
_, err := w.Write([]byte("file not found"))
72+
require.NoError(err)
7273
})
7374
addr, stop := testutil.StartServer(r)
7475
defer stop()

lib/backend/registrybackend/blobclient.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"net/http"
2121
"strconv"
2222

23+
"github.com/uber/kraken/utils/closers"
24+
2325
"github.com/uber-go/tally"
2426
"github.com/uber/kraken/core"
2527
"github.com/uber/kraken/lib/backend"
@@ -145,7 +147,7 @@ func (c *BlobClient) downloadHelper(namespace, name, query string, dst io.Writer
145147
}
146148
return fmt.Errorf("get blob: %s", err)
147149
}
148-
defer resp.Body.Close()
150+
defer closers.Close(resp.Body)
149151

150152
if _, err := io.Copy(dst, resp.Body); err != nil {
151153
return fmt.Errorf("copy: %s", err)

lib/backend/registrybackend/blobclient_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ func TestBlobDownloadFileNotFound(t *testing.T) {
108108
r := chi.NewRouter()
109109
r.Get(fmt.Sprintf("/v2/%s/blobs/{blob}", namespace), func(w http.ResponseWriter, req *http.Request) {
110110
w.WriteHeader(http.StatusNotFound)
111-
w.Write([]byte("file not found"))
111+
_, err := w.Write([]byte("file not found"))
112+
require.NoError(err)
112113
})
113114
r.Head(fmt.Sprintf("/v2/%s/blobs/{blob}", namespace), func(w http.ResponseWriter, req *http.Request) {
114115
w.WriteHeader(http.StatusNotFound)

lib/backend/testfs/client.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import (
2626
"github.com/uber/kraken/lib/backend"
2727
"github.com/uber/kraken/lib/backend/backenderrors"
2828
"github.com/uber/kraken/lib/backend/namepath"
29+
"github.com/uber/kraken/utils/closers"
2930
"github.com/uber/kraken/utils/httputil"
30-
3131
"go.uber.org/zap"
3232
"gopkg.in/yaml.v2"
3333
)
@@ -127,7 +127,7 @@ func (c *Client) Download(namespace, name string, dst io.Writer) error {
127127
}
128128
return err
129129
}
130-
defer resp.Body.Close()
130+
defer closers.Close(resp.Body)
131131
if _, err := io.Copy(dst, resp.Body); err != nil {
132132
return fmt.Errorf("copy: %s", err)
133133
}
@@ -150,7 +150,7 @@ func (c *Client) List(prefix string, opts ...backend.ListOption) (*backend.ListR
150150
if err != nil {
151151
return nil, err
152152
}
153-
defer resp.Body.Close()
153+
defer closers.Close(resp.Body)
154154
var paths []string
155155
if err := json.NewDecoder(resp.Body).Decode(&paths); err != nil {
156156
return nil, fmt.Errorf("json: %s", err)

lib/backend/testfs/server.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import (
2424
"strings"
2525
"sync"
2626

27+
"github.com/uber/kraken/utils/log"
28+
2729
"github.com/uber/kraken/utils/handler"
2830

2931
"github.com/go-chi/chi"
@@ -57,11 +59,17 @@ func (s *Server) Handler() http.Handler {
5759

5860
// Cleanup cleans up the underlying directory of s.
5961
func (s *Server) Cleanup() {
60-
os.RemoveAll(s.dir)
62+
err := os.RemoveAll(s.dir)
63+
if err != nil {
64+
log.Error(err)
65+
}
6166
}
6267

6368
func (s *Server) healthHandler(w http.ResponseWriter, r *http.Request) {
64-
w.Write([]byte("OK"))
69+
_, err := w.Write([]byte("OK"))
70+
if err != nil {
71+
log.Error(err)
72+
}
6573
}
6674

6775
func (s *Server) statHandler(w http.ResponseWriter, r *http.Request) error {

0 commit comments

Comments
 (0)