@@ -10,6 +10,7 @@ import (
1010 meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
1111 "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
1212 "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard/mode"
13+ cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
1314 cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
1415 "github.com/nspcc-dev/neofs-sdk-go/object"
1516 oid "github.com/nspcc-dev/neofs-sdk-go/object/id"
@@ -19,7 +20,7 @@ import (
1920
2021type metricsStore struct {
2122 objectCounters map [string ]uint64
22- containerSize map [string ]int64
23+ containerSize map [cid. ID ]int64
2324 payloadSize int64
2425 readOnly bool
2526}
@@ -60,7 +61,11 @@ func (m *metricsStore) SetReadonly(r bool) {
6061}
6162
6263func (m metricsStore ) AddToContainerSize (cnr string , size int64 ) {
63- m .containerSize [cnr ] += size
64+ c , err := cid .DecodeString (cnr )
65+ if err != nil {
66+ return
67+ }
68+ m .containerSize [c ] += size
6469}
6570
6671func (m * metricsStore ) AddToPayloadSize (size int64 ) {
@@ -96,11 +101,11 @@ func TestCounters(t *testing.T) {
96101
97102 var totalPayload int64
98103
99- expectedSizes := make (map [string ]int64 )
104+ expectedSizes := make (map [cid. ID ]int64 )
100105 for i := range oo {
101106 cnr := oo [i ].GetContainerID ()
102107 oSize := int64 (oo [i ].PayloadSize ())
103- expectedSizes [cnr . EncodeToString () ] += oSize
108+ expectedSizes [cnr ] += oSize
104109 totalPayload += oSize
105110 }
106111
@@ -182,17 +187,17 @@ func TestInhumeContainerCounters(t *testing.T) {
182187
183188 require .Equal (t , mm .objectCounters [physical ], total )
184189 require .Equal (t , mm .objectCounters [logical ], uint64 (objsC2 ))
185- require .Empty (t , mm .containerSize [c1 . EncodeToString () ])
186- require .Equal (t , mm .containerSize [c2 . EncodeToString () ], sizeC2 )
190+ require .Empty (t , mm .containerSize [c1 ])
191+ require .Equal (t , mm .containerSize [c2 ], sizeC2 )
187192 // payload size must remain unchanged after logical removal
188193 require .Equal (t , initialPayload , mm .payloadSize )
189194
190195 require .NoError (t , sh .InhumeContainer (c2 ))
191196
192197 require .Equal (t , mm .objectCounters [physical ], total )
193198 require .Empty (t , mm .objectCounters [logical ])
194- require .Empty (t , mm .containerSize [c1 . EncodeToString () ])
195- require .Empty (t , mm .containerSize [c2 . EncodeToString () ])
199+ require .Empty (t , mm .containerSize [c1 ])
200+ require .Empty (t , mm .containerSize [c2 ])
196201 // payload size still unchanged
197202 require .Equal (t , initialPayload , mm .payloadSize )
198203}
@@ -260,7 +265,7 @@ func shardWithMetrics(t *testing.T, path string) (*shard.Shard, *metricsStore) {
260265 "phy" : 0 ,
261266 "logic" : 0 ,
262267 },
263- containerSize : make (map [string ]int64 ),
268+ containerSize : make (map [cid. ID ]int64 ),
264269 }
265270
266271 sh := shard .New (
0 commit comments