From aa835c597de66997b8c1187d1587b8077f0d6cbe Mon Sep 17 00:00:00 2001 From: Alan Shaw Date: Fri, 13 Dec 2024 11:34:17 +0000 Subject: [PATCH] fix: return empty not error when no records found in legacy block index --- pkg/service/legacy/service.go | 3 +++ pkg/service/legacy/service_test.go | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/pkg/service/legacy/service.go b/pkg/service/legacy/service.go index 2005e90..389e39d 100644 --- a/pkg/service/legacy/service.go +++ b/pkg/service/legacy/service.go @@ -61,6 +61,9 @@ func (l *IndexingService) Query(ctx context.Context, q types.Query) (types.Query content := assert.FromHash(h) records, err := l.blockIndexStore.Query(ctx, content.Hash()) if err != nil { + if errors.Is(err, types.ErrKeyNotFound) { + continue + } return nil, err } diff --git a/pkg/service/legacy/service_test.go b/pkg/service/legacy/service_test.go index c8afc14..a148588 100644 --- a/pkg/service/legacy/service_test.go +++ b/pkg/service/legacy/service_test.go @@ -204,6 +204,19 @@ func TestLegacyService(t *testing.T) { _, err = service.Query(context.Background(), query) require.True(t, errors.Is(err, errNotImplemented)) }) + + t.Run("returns empty results when block index errors with not found", func(t *testing.T) { + mockStore := newMockBlockIndexStore() + mockService := mockIndexingService{nil, nil} + service, err := NewService(id, &mockService, mockStore, bucketURL.String()) + require.NoError(t, err) + + query := types.Query{Hashes: []multihash.Multihash{testutil.RandomMultihash()}} + results, err := service.Query(context.Background(), query) + require.NoError(t, err) + require.Len(t, results.Claims(), 0) + require.Len(t, results.Indexes(), 0) + }) } var errNotImplemented = errors.New("not implemented")