volume server UI: fix ec volume ui (#7104)

* fix ec volume ui

* Update weed/storage/erasure_coding/ec_volume.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Chris Lu
2025-08-07 00:07:03 -07:00
committed by GitHub
parent dd4880d55a
commit b4d9618efc
3 changed files with 21 additions and 11 deletions

View File

@@ -492,7 +492,7 @@ func (vs *VolumeServer) VolumeEcShardsInfo(ctx context.Context, req *volume_serv
for _, shardDetail := range shardDetails { for _, shardDetail := range shardDetails {
ecShardInfo := &volume_server_pb.EcShardInfo{ ecShardInfo := &volume_server_pb.EcShardInfo{
ShardId: uint32(shardDetail.ShardId), ShardId: uint32(shardDetail.ShardId),
Size: shardDetail.Size, Size: int64(shardDetail.Size),
Collection: v.Collection, Collection: v.Collection,
} }
ecShardInfos = append(ecShardInfos, ecShardInfo) ecShardInfos = append(ecShardInfos, ecShardInfo)

View File

@@ -1,12 +1,14 @@
package weed_server package weed_server
import ( import (
"github.com/seaweedfs/seaweedfs/weed/pb"
"github.com/seaweedfs/seaweedfs/weed/util/version"
"net/http" "net/http"
"path/filepath" "path/filepath"
"time" "time"
"github.com/seaweedfs/seaweedfs/weed/glog"
"github.com/seaweedfs/seaweedfs/weed/pb"
"github.com/seaweedfs/seaweedfs/weed/util/version"
"github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb" "github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb"
ui "github.com/seaweedfs/seaweedfs/weed/server/volume_server_ui" ui "github.com/seaweedfs/seaweedfs/weed/server/volume_server_ui"
"github.com/seaweedfs/seaweedfs/weed/stats" "github.com/seaweedfs/seaweedfs/weed/stats"
@@ -53,5 +55,8 @@ func (vs *VolumeServer) uiStatusHandler(w http.ResponseWriter, r *http.Request)
infos, infos,
serverStats, serverStats,
} }
ui.StatusTpl.Execute(w, args) if err := ui.StatusTpl.Execute(w, args); err != nil {
glog.Errorf("template execution error: %v", err)
http.Error(w, "Internal server error", http.StatusInternalServerError)
}
} }

View File

@@ -178,9 +178,11 @@ func (ev *EcVolume) ShardSize() uint64 {
return 0 return 0
} }
func (ev *EcVolume) Size() (size int64) { func (ev *EcVolume) Size() (size uint64) {
for _, shard := range ev.Shards { for _, shard := range ev.Shards {
size += shard.Size() if shardSize := shard.Size(); shardSize > 0 {
size += uint64(shardSize)
}
} }
return return
} }
@@ -198,15 +200,18 @@ func (ev *EcVolume) ShardIdList() (shardIds []ShardId) {
type ShardInfo struct { type ShardInfo struct {
ShardId ShardId ShardId ShardId
Size int64 Size uint64
} }
func (ev *EcVolume) ShardDetails() (shards []ShardInfo) { func (ev *EcVolume) ShardDetails() (shards []ShardInfo) {
for _, s := range ev.Shards { for _, s := range ev.Shards {
shards = append(shards, ShardInfo{ shardSize := s.Size()
ShardId: s.ShardId, if shardSize >= 0 {
Size: s.Size(), shards = append(shards, ShardInfo{
}) ShardId: s.ShardId,
Size: uint64(shardSize),
})
}
} }
return return
} }