Fix update of SeaweedFS_volumeServer_volumes gauge metrics when EC shards are unmounted (#6776)
This commit is contained in:
@@ -45,11 +45,19 @@ func NewEcVolumeShard(diskType types.DiskType, dirname string, collection string
|
|||||||
}
|
}
|
||||||
v.ecdFileSize = ecdFi.Size()
|
v.ecdFileSize = ecdFi.Size()
|
||||||
|
|
||||||
stats.VolumeServerVolumeGauge.WithLabelValues(v.Collection, "ec_shards").Inc()
|
v.Mount()
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (shard *EcVolumeShard) Mount() {
|
||||||
|
stats.VolumeServerVolumeGauge.WithLabelValues(shard.Collection, "ec_shards").Inc()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (shard *EcVolumeShard) Unmount() {
|
||||||
|
stats.VolumeServerVolumeGauge.WithLabelValues(shard.Collection, "ec_shards").Dec()
|
||||||
|
}
|
||||||
|
|
||||||
func (shard *EcVolumeShard) Size() int64 {
|
func (shard *EcVolumeShard) Size() int64 {
|
||||||
return shard.ecdFileSize
|
return shard.ecdFileSize
|
||||||
}
|
}
|
||||||
@@ -88,8 +96,8 @@ func (shard *EcVolumeShard) Close() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (shard *EcVolumeShard) Destroy() {
|
func (shard *EcVolumeShard) Destroy() {
|
||||||
|
shard.Unmount()
|
||||||
os.Remove(shard.FileName() + ToExt(int(shard.ShardId)))
|
os.Remove(shard.FileName() + ToExt(int(shard.ShardId)))
|
||||||
stats.VolumeServerVolumeGauge.WithLabelValues(shard.Collection, "ec_shards").Dec()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (shard *EcVolumeShard) ReadAt(buf []byte, offset int64) (int, error) {
|
func (shard *EcVolumeShard) ReadAt(buf []byte, offset int64) (int, error) {
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ func (ev *EcVolume) DeleteEcVolumeShard(shardId ShardId) (ecVolumeShard *EcVolum
|
|||||||
}
|
}
|
||||||
|
|
||||||
ecVolumeShard = ev.Shards[foundPosition]
|
ecVolumeShard = ev.Shards[foundPosition]
|
||||||
|
ecVolumeShard.Unmount()
|
||||||
ev.Shards = append(ev.Shards[:foundPosition], ev.Shards[foundPosition+1:]...)
|
ev.Shards = append(ev.Shards[:foundPosition], ev.Shards[foundPosition+1:]...)
|
||||||
return ecVolumeShard, true
|
return ecVolumeShard, true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user