Skip to content

Commit fc040a5

Browse files
committed
metabase: export PutMetadataForObject
This functionality will be shared for some time meta-service feature is being developed. Refs #3139. Signed-off-by: Pavel Karpy <[email protected]>
1 parent f84b9ca commit fc040a5

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

pkg/local_object_storage/metabase/metadata.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ func invalidMetaBucketKeyErr(key []byte, cause error) error {
4949
return fmt.Errorf("invalid meta bucket key (prefix 0x%X): %w", key[0], cause)
5050
}
5151

52-
func putMetadataForObject(tx *bbolt.Tx, hdr object.Object, hasParent, phy bool) error {
52+
// PutMetadataForObject fills object meta-data indexes using bbolt transaction.
53+
// Transaction must be writable. Additional bucket for container's meta-data
54+
// may be created using {255, CID...} form as a key.
55+
func PutMetadataForObject(tx *bbolt.Tx, hdr object.Object, hasParent, phy bool) error {
5356
owner := hdr.Owner()
5457
if owner.IsZero() {
5558
return fmt.Errorf("invalid owner: %w", user.ErrZeroID)

pkg/local_object_storage/metabase/version.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,11 @@ func migrateFrom3Version(_ *DB, tx *bbolt.Tx) error {
138138
}
139139
par := hdr.Parent()
140140
hasParent := par != nil
141-
if err := putMetadataForObject(tx, hdr, hasParent, true); err != nil {
141+
if err := PutMetadataForObject(tx, hdr, hasParent, true); err != nil {
142142
return fmt.Errorf("put metadata for object %s: %w", id, err)
143143
}
144144
if hasParent && !par.GetID().IsZero() { // skip the first object without useful info similar to DB.put
145-
if err := putMetadataForObject(tx, *par, false, false); err != nil {
145+
if err := PutMetadataForObject(tx, *par, false, false); err != nil {
146146
return fmt.Errorf("put metadata for parent of object %s: %w", id, err)
147147
}
148148
}

0 commit comments

Comments
 (0)