Fix Search for EC-splitted objects #1144
4 changed files with 10 additions and 4 deletions
2
go.mod
2
go.mod
|
@ -7,7 +7,7 @@ require (
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-api-go/v2 v2.16.1-0.20240530152826-2f6d3209e1d3
|
git.frostfs.info/TrueCloudLab/frostfs-api-go/v2 v2.16.1-0.20240530152826-2f6d3209e1d3
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-contract v0.19.3-0.20240409111539-e7a05a49ff45
|
git.frostfs.info/TrueCloudLab/frostfs-contract v0.19.3-0.20240409111539-e7a05a49ff45
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20231101111734-b3ad3335ff65
|
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20231101111734-b3ad3335ff65
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20240531121442-717a7d00ef21
|
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20240531132048-ebd8fcd1685f
|
||||||
git.frostfs.info/TrueCloudLab/hrw v1.2.1
|
git.frostfs.info/TrueCloudLab/hrw v1.2.1
|
||||||
git.frostfs.info/TrueCloudLab/policy-engine v0.0.0-20240513163744-1f6f4163d40d
|
git.frostfs.info/TrueCloudLab/policy-engine v0.0.0-20240513163744-1f6f4163d40d
|
||||||
git.frostfs.info/TrueCloudLab/tzhash v1.8.0
|
git.frostfs.info/TrueCloudLab/tzhash v1.8.0
|
||||||
|
|
BIN
go.sum
BIN
go.sum
Binary file not shown.
|
@ -361,8 +361,6 @@ func updateFKBTIndexes(tx *bbolt.Tx, obj *objectSDK.Object, f updateIndexItemFun
|
||||||
cnr, _ := obj.ContainerID()
|
cnr, _ := obj.ContainerID()
|
||||||
objKey := objectKey(id, make([]byte, objectKeySize))
|
objKey := objectKey(id, make([]byte, objectKeySize))
|
||||||
|
|
||||||
attrs := obj.Attributes()
|
|
||||||
|
|
||||||
key := make([]byte, bucketKeySize)
|
key := make([]byte, bucketKeySize)
|
||||||
err := f(tx, namedBucketItem{
|
err := f(tx, namedBucketItem{
|
||||||
name: ownerBucketName(cnr, key),
|
name: ownerBucketName(cnr, key),
|
||||||
|
@ -373,6 +371,14 @@ func updateFKBTIndexes(tx *bbolt.Tx, obj *objectSDK.Object, f updateIndexItemFun
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var attrs []objectSDK.Attribute
|
||||||
|
if obj.ECHeader() != nil {
|
||||||
|
attrs = obj.ECHeader().ParentAttributes()
|
||||||
|
objKey = objectKey(obj.ECHeader().Parent(), make([]byte, objectKeySize))
|
||||||
|
} else {
|
||||||
|
attrs = obj.Attributes()
|
||||||
|
}
|
||||||
|
|
||||||
// user specified attributes
|
// user specified attributes
|
||||||
for i := range attrs {
|
for i := range attrs {
|
||||||
key = attributeBucketName(cnr, attrs[i].Key(), key)
|
key = attributeBucketName(cnr, attrs[i].Key(), key)
|
||||||
|
|
|
@ -114,7 +114,7 @@ func TestECChunkHasInvalidPlacement(t *testing.T) {
|
||||||
chunkObject.SetID(chunkAddress.Object())
|
chunkObject.SetID(chunkAddress.Object())
|
||||||
chunkObject.SetPayload([]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
|
chunkObject.SetPayload([]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
|
||||||
chunkObject.SetPayloadSize(uint64(10))
|
chunkObject.SetPayloadSize(uint64(10))
|
||||||
chunkObject.SetECHeader(objectSDK.NewECHeader(parentID, nil, nil, 1, 3, []byte{}, 0))
|
chunkObject.SetECHeader(objectSDK.NewECHeader(objectSDK.ECParentInfo{ID: parentID}, 0, 3, []byte{}, 0))
|
||||||
|
|
||||||
var policy netmapSDK.PlacementPolicy
|
var policy netmapSDK.PlacementPolicy
|
||||||
require.NoError(t, policy.DecodeString("EC 2.1"))
|
require.NoError(t, policy.DecodeString("EC 2.1"))
|
||||||
|
|
Loading…
Reference in a new issue