diff --git a/blobstore/shardnode/httpservice.go b/blobstore/shardnode/httpservice.go index e616dd583..8f39ae781 100644 --- a/blobstore/shardnode/httpservice.go +++ b/blobstore/shardnode/httpservice.go @@ -45,12 +45,20 @@ func (s *HttpService) HttpShardStats(c *rpc.Context) { func (s *HttpService) HttpDeleteBlobStats(c *rpc.Context) { ret := s.deleteBlobStats() - c.RespondJSON(ret) + if ret == nil { + c.RespondJSON(shardnode.ShardnodeTaskStatsRet{}) + return + } + c.RespondJSON(*ret) } func (s *HttpService) HttpRepairSliceStats(c *rpc.Context) { ret := s.repairSliceStats() - c.RespondJSON(ret) + if ret == nil { + c.RespondJSON(shardnode.ShardnodeTaskStatsRet{}) + return + } + c.RespondJSON(*ret) } func newHttpHandler(service *HttpService) *rpc.Router { diff --git a/blobstore/shardnode/httpservice_test.go b/blobstore/shardnode/httpservice_test.go index 5996a5353..853d64306 100644 --- a/blobstore/shardnode/httpservice_test.go +++ b/blobstore/shardnode/httpservice_test.go @@ -79,7 +79,8 @@ func TestHttpService_HTTPGet(t *testing.T) { url := fmt.Sprintf("http://127.0.0.1:11000/shard/stats?disk_id=%d&suid=%d", diskID, suid) resp1, err := client.Get(ctx, url) require.Nil(t, err) - json.NewDecoder(resp1.Body).Decode(ret1) + err = json.NewDecoder(resp1.Body).Decode(ret1) + require.NoError(t, err) resp1.Body.Close() require.Equal(t, suid, ret1.Suid) @@ -87,7 +88,8 @@ func TestHttpService_HTTPGet(t *testing.T) { ret2 := &shardnode.ShardnodeTaskStatsRet{} resp2, err := client.Get(ctx, "http://127.0.0.1:11000/blob/delete/stats") require.Nil(t, err) - json.NewDecoder(resp2.Body).Decode(ret2) + err = json.NewDecoder(resp2.Body).Decode(ret2) + require.NoError(t, err) resp2.Body.Close() require.NotNil(t, ret2) @@ -95,7 +97,8 @@ func TestHttpService_HTTPGet(t *testing.T) { ret3 := &shardnode.ShardnodeTaskStatsRet{} resp3, err := client.Get(ctx, "http://127.0.0.1:11000/slice/repair/stats") require.Nil(t, err) - json.NewDecoder(resp3.Body).Decode(ret3) + err = json.NewDecoder(resp3.Body).Decode(ret3) + require.NoError(t, err) resp3.Body.Close() require.NotNil(t, ret3) }