From c9e656205fcc2e6c1feb5edabf2692df0b85198c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Fri, 24 Nov 2023 11:28:13 +0100 Subject: [PATCH 1/2] do not use existing vars --- pkg/storage/utils/decomposedfs/spaces.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/storage/utils/decomposedfs/spaces.go b/pkg/storage/utils/decomposedfs/spaces.go index 139e29c624..d912cd9a1a 100644 --- a/pkg/storage/utils/decomposedfs/spaces.go +++ b/pkg/storage/utils/decomposedfs/spaces.go @@ -424,15 +424,15 @@ func (fs *Decomposedfs) ListStorageSpaces(ctx context.Context, filter []*provide continue } // always read link in case storage space id != node id - spaceID, nodeID, err = ReadSpaceAndNodeFromIndexLink(match) + linkSpaceID, linkNodeID, err := ReadSpaceAndNodeFromIndexLink(match) if err != nil { appctx.GetLogger(ctx).Error().Err(err).Str("match", match).Msg("could not read link, skipping") continue } - n, err := node.ReadNode(ctx, fs.lu, spaceID, nodeID, true, nil, true) + n, err := node.ReadNode(ctx, fs.lu, linkSpaceID, linkNodeID, true, nil, true) if err != nil { - appctx.GetLogger(ctx).Error().Err(err).Str("id", nodeID).Msg("could not read node, skipping") + appctx.GetLogger(ctx).Error().Err(err).Str("id", linkNodeID).Msg("could not read node, skipping") continue } @@ -448,7 +448,7 @@ func (fs *Decomposedfs) ListStorageSpaces(ctx context.Context, filter []*provide case errtypes.NotFound: // ok default: - appctx.GetLogger(ctx).Error().Err(err).Str("id", nodeID).Msg("could not convert to storage space") + appctx.GetLogger(ctx).Error().Err(err).Str("id", linkNodeID).Msg("could not convert to storage space") } continue } From d08a44ab3db47d423d4eba444308ebaad33bb242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Fri, 24 Nov 2023 11:41:33 +0100 Subject: [PATCH 2/2] add changelog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- changelog/unreleased/fix-concurrent-lookup.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelog/unreleased/fix-concurrent-lookup.md diff --git a/changelog/unreleased/fix-concurrent-lookup.md b/changelog/unreleased/fix-concurrent-lookup.md new file mode 100644 index 0000000000..fc9fd9f5a5 --- /dev/null +++ b/changelog/unreleased/fix-concurrent-lookup.md @@ -0,0 +1,5 @@ +Bugfix: Fix concurrent lookup + +We have fixed a bug that overwrites existing variables, leading to flaky lookup of spaces + +https://github.com/cs3org/reva/pull/4362