fix(shardnode): encode blob task stats in correct way

with: #1000420040

Signed-off-by: xiejian <xiejian3@oppo.com>
This commit is contained in:
xiejian 2026-01-23 17:23:27 +08:00 committed by 梁曟風
parent 94da88c382
commit 6272fa3d38
2 changed files with 16 additions and 5 deletions

View File

@ -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 {

View File

@ -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)
}