@@ -120,6 +120,7 @@ func (gcs *GCS) Connect(ctx context.Context) error {
120
120
}
121
121
122
122
func (gcs * GCS ) Close (ctx context.Context ) error {
123
+ gcs .clientPool .Close (ctx )
123
124
return gcs .client .Close ()
124
125
}
125
126
@@ -174,10 +175,14 @@ func (gcs *GCS) GetFileReader(ctx context.Context, key string) (io.ReadCloser, e
174
175
obj := pClient .Bucket (gcs .Config .Bucket ).Object (path .Join (gcs .Config .Path , key ))
175
176
reader , err := obj .NewReader (ctx )
176
177
if err != nil {
177
- gcs .clientPool .InvalidateObject (ctx , pClientObj )
178
+ if pErr := gcs .clientPool .InvalidateObject (ctx , pClientObj ); pErr != nil {
179
+ log .Warnf ("GetFileReader: gcs.clientPool.InvalidateObject error: %v " , pErr )
180
+ }
178
181
return nil , err
179
182
}
180
- gcs .clientPool .ReturnObject (ctx , pClientObj )
183
+ if pErr := gcs .clientPool .ReturnObject (ctx , pClientObj ); pErr != nil {
184
+ log .Warnf ("GetFileReader: gcs.clientPool.ReturnObject error: %v " , pErr )
185
+ }
181
186
return reader , nil
182
187
}
183
188
@@ -202,14 +207,17 @@ func (gcs *GCS) PutFile(ctx context.Context, key string, r io.ReadCloser) error
202
207
}
203
208
defer func () {
204
209
if err := writer .Close (); err != nil {
205
- log .Warnf ("can't close writer: %+v" , err )
206
- gcs .clientPool .InvalidateObject (ctx , pClientObj )
207
-
210
+ log .Warnf ("gcs.PutFile: can't close writer: %+v" , err )
211
+ if err = gcs .clientPool .InvalidateObject (ctx , pClientObj ); err != nil {
212
+ log .Warnf ("gcs.PutFile: gcs.clientPool.InvalidateObject error: %+v" , err )
213
+ }
208
214
return
209
215
}
210
- gcs .clientPool .ReturnObject (ctx , pClientObj )
216
+ if err = gcs .clientPool .ReturnObject (ctx , pClientObj ); err != nil {
217
+ log .Warnf ("gcs.PutFile: gcs.clientPool.ReturnObject error: %+v" , err )
218
+ }
211
219
}()
212
- buffer := make ([]byte , 512 * 1024 )
220
+ buffer := make ([]byte , 128 * 1024 )
213
221
_ , err = io .CopyBuffer (writer , r , buffer )
214
222
return err
215
223
}
@@ -239,10 +247,14 @@ func (gcs *GCS) deleteKey(ctx context.Context, key string) error {
239
247
object := pClient .Bucket (gcs .Config .Bucket ).Object (key )
240
248
err = object .Delete (ctx )
241
249
if err != nil {
242
- gcs .clientPool .InvalidateObject (ctx , pClientObj )
250
+ if pErr := gcs .clientPool .InvalidateObject (ctx , pClientObj ); pErr != nil {
251
+ log .Warnf ("gcs.deleteKey: gcs.clientPool.InvalidateObject error: %+v" , pErr )
252
+ }
243
253
return err
244
254
}
245
- gcs .clientPool .ReturnObject (ctx , pClientObj )
255
+ if pErr := gcs .clientPool .ReturnObject (ctx , pClientObj ); pErr != nil {
256
+ log .Warnf ("gcs.deleteKey: gcs.clientPool.ReturnObject error: %+v" , pErr )
257
+ }
246
258
return nil
247
259
}
248
260
@@ -268,15 +280,21 @@ func (gcs *GCS) CopyObject(ctx context.Context, srcBucket, srcKey, dstKey string
268
280
dst := pClient .Bucket (gcs .Config .Bucket ).Object (dstKey )
269
281
attrs , err := src .Attrs (ctx )
270
282
if err != nil {
271
- gcs .clientPool .InvalidateObject (ctx , pClientObj )
283
+ if pErr := gcs .clientPool .InvalidateObject (ctx , pClientObj ); pErr != nil {
284
+ log .Warnf ("gcs.CopyObject: gcs.clientPool.InvalidateObject error: %+v" , pErr )
285
+ }
272
286
return 0 , err
273
287
}
274
288
if _ , err = dst .CopierFrom (src ).Run (ctx ); err != nil {
275
- gcs .clientPool .InvalidateObject (ctx , pClientObj )
289
+ if pErr := gcs .clientPool .InvalidateObject (ctx , pClientObj ); pErr != nil {
290
+ log .Warnf ("gcs.CopyObject: gcs.clientPool.InvalidateObject error: %+v" , pErr )
291
+ }
276
292
return 0 , err
277
293
}
278
294
log .Debugf ("GCS->CopyObject %s/%s -> %s/%s" , srcBucket , srcKey , gcs .Config .Bucket , dstKey )
279
- gcs .clientPool .ReturnObject (ctx , pClientObj )
295
+ if pErr := gcs .clientPool .ReturnObject (ctx , pClientObj ); pErr != nil {
296
+ log .Warnf ("gcs.CopyObject: gcs.clientPool.ReturnObject error: %+v" , pErr )
297
+ }
280
298
return attrs .Size , nil
281
299
}
282
300
0 commit comments