From 26b8e33ed76874f43a0e507a676eb5ab223e81f1 Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Wed, 16 Feb 2022 18:40:39 +0300 Subject: [PATCH] [#1175] metabase: Fix encoding of updated locker list Even single locker must be encoded using `encodeList`, or subsequent `decodeList` call will fail. Signed-off-by: Leonard Lyubich --- pkg/local_object_storage/metabase/lock.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkg/local_object_storage/metabase/lock.go b/pkg/local_object_storage/metabase/lock.go index 390e941e..4c02100c 100644 --- a/pkg/local_object_storage/metabase/lock.go +++ b/pkg/local_object_storage/metabase/lock.go @@ -74,14 +74,10 @@ func (db *DB) Lock(cnr cid.ID, locker oid.ID, locked []oid.ID) error { } // update the list of lockers - if exLockers == nil { - updLockers = keyLocker - } else { - updLockers, err = encodeList(append(exLockers, keyLocker)) - if err != nil { - // maybe continue for the best effort? - return fmt.Errorf("encode list of object lockers: %w", err) - } + updLockers, err = encodeList(append(exLockers, keyLocker)) + if err != nil { + // maybe continue for the best effort? + return fmt.Errorf("encode list of object lockers: %w", err) } // write updated list of lockers