From d6b58f4ea335d4c98be7acedc86862794b1874d7 Mon Sep 17 00:00:00 2001 From: Gerard Snaauw <33763579+gerardsn@users.noreply.github.com> Date: Tue, 13 Jun 2023 17:09:07 +0200 Subject: [PATCH 1/3] do not fail on missing payload (#2245) --- network/network.go | 6 +++--- network/network_test.go | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/network/network.go b/network/network.go index fd2a3e8ae8..452317b741 100644 --- a/network/network.go +++ b/network/network.go @@ -740,8 +740,8 @@ func (n *Network) Reprocess(ctx context.Context, contentType string) (*Reprocess // add to Nats subject := fmt.Sprintf("%s.%s", events.ReprocessStream, contentType) payload, err := n.state.ReadPayload(ctx, tx.PayloadHash()) - if err != nil { - return nil, fmt.Errorf("reprocess abort on transaction %#x payload %#x: %w", tx.Ref(), tx.PayloadHash(), err) + if err != nil && !errors.Is(err, dag.ErrPayloadNotFound) { + return nil, fmt.Errorf("reprocess abort on transaction %s payload %s: %w", tx.Ref(), tx.PayloadHash(), err) } twp := events.TransactionWithPayload{ Transaction: tx, @@ -754,7 +754,7 @@ func (n *Network) Reprocess(ctx context.Context, contentType string) (*Reprocess Trace("Publishing transaction") _, err = js.PublishAsync(subject, data) if err != nil { - return nil, fmt.Errorf("reprocess abort on transaction %#x publish: %w", tx.Ref(), err) + return nil, fmt.Errorf("reprocess abort on transaction %s publish: %w", tx.Ref(), err) } } diff --git a/network/network_test.go b/network/network_test.go index e1a4c3f0ef..3c4450c17f 100644 --- a/network/network_test.go +++ b/network/network_test.go @@ -782,6 +782,25 @@ func TestNetwork_Reprocess(t *testing.T) { assert.Equal(t, 0, counter) }) + t.Run("missing payload", func(t *testing.T) { + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + defer cancel() + + setup, eventManager := newSetup(t) + setup.state.EXPECT().FindBetweenLC(gomock.Any(), uint32(0), uint32(1000)).Return([]dag.Transaction{tx}, nil) + setup.state.EXPECT().ReadPayload(gomock.Any(), tx.PayloadHash()).Return(nil, dag.ErrPayloadNotFound) + var counter int + wg := sync.WaitGroup{} + wg.Add(1) + + subscribe(ctx, t, eventManager, &wg, &counter) + + _, err := setup.network.Reprocess(ctx, "application/did+json") + require.NoError(t, err) + wg.Wait() + assert.Equal(t, 1, counter) + }) + t.Run("error", func(t *testing.T) { t.Run("query", func(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), time.Second) From 2464cc218f41fddc110332240b4cbc58196b608b Mon Sep 17 00:00:00 2001 From: Gerard Snaauw Date: Tue, 13 Jun 2023 17:28:46 +0200 Subject: [PATCH 2/3] release notes --- docs/pages/release_notes.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/pages/release_notes.rst b/docs/pages/release_notes.rst index 3cf3241194..2690104d8d 100644 --- a/docs/pages/release_notes.rst +++ b/docs/pages/release_notes.rst @@ -3,6 +3,16 @@ Release notes ############# +************************ + Hazelnut update (v5.2.3) + ************************ + + Release date: 2023-06-13 + + - Fixed issue where a Reprocess failed due to missing data + + **Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.2.2...v5.2.3 + ************************ Hazelnut update (v5.2.2) ************************ @@ -40,6 +50,16 @@ Release date: 2023-04-25 **Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.1.0...v5.2.0 +************************ + Hazelnut update (v5.1.2) + ************************ + + Release date: 2023-06-13 + + - Fixed issue where a Reprocess failed due to missing data + + **Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.1.1...v5.1.2 + ************************ Hazelnut update (v5.1.1) ************************ From 2e73a7b78b1a256410df15e7ea03e301492ab340 Mon Sep 17 00:00:00 2001 From: Gerard Snaauw Date: Tue, 13 Jun 2023 17:37:34 +0200 Subject: [PATCH 3/3] fix indentation --- docs/pages/release_notes.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/pages/release_notes.rst b/docs/pages/release_notes.rst index 2690104d8d..74de0f81f8 100644 --- a/docs/pages/release_notes.rst +++ b/docs/pages/release_notes.rst @@ -4,14 +4,14 @@ Release notes ############# ************************ - Hazelnut update (v5.2.3) - ************************ +Hazelnut update (v5.2.3) +************************ - Release date: 2023-06-13 +Release date: 2023-06-13 - - Fixed issue where a Reprocess failed due to missing data +- Fixed issue where a Reprocess failed due to missing data - **Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.2.2...v5.2.3 +**Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.2.2...v5.2.3 ************************ Hazelnut update (v5.2.2) @@ -51,14 +51,14 @@ Release date: 2023-04-25 **Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.1.0...v5.2.0 ************************ - Hazelnut update (v5.1.2) - ************************ +Hazelnut update (v5.1.2) +************************ - Release date: 2023-06-13 +Release date: 2023-06-13 - - Fixed issue where a Reprocess failed due to missing data +- Fixed issue where a Reprocess failed due to missing data - **Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.1.1...v5.1.2 +**Full Changelog**: https://github.com/nuts-foundation/nuts-node/compare/v5.1.1...v5.1.2 ************************ Hazelnut update (v5.1.1)