From e843e8d8b56b2790189831ad11327c2d8e22d1bc Mon Sep 17 00:00:00 2001 From: Dmitry Shulyak Date: Mon, 4 Sep 2023 05:47:23 +0000 Subject: [PATCH 1/7] bump atx cache to 20k (#4953) --- datastore/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datastore/store.go b/datastore/store.go index 6022725f2a..52dff5716d 100644 --- a/datastore/store.go +++ b/datastore/store.go @@ -45,7 +45,7 @@ type Config struct { func DefaultConfig() Config { return Config{ - ATXSize: 10_000, + ATXSize: 20_000, MalfeasenceSize: 1_000, } } From 821e6ae356288fece8429bd171917640d38411df Mon Sep 17 00:00:00 2001 From: Dmitry Shulyak Date: Mon, 4 Sep 2023 07:15:45 +0000 Subject: [PATCH 2/7] release v1.1.4 (#4954) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 793fa2abaf..9e83968b9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ See [RELEASE](./RELEASE.md) for workflow instructions. -## UNRELEASED +## v1.1.4 ### Upgrade information From 61e3c63d8488ee70a14e91a938d8668bed90ab36 Mon Sep 17 00:00:00 2001 From: Dmitry Shulyak Date: Mon, 4 Sep 2023 15:53:03 +0000 Subject: [PATCH 3/7] hare: skip flaky unit tests (#4947) closes: https://github.com/spacemeshos/go-spacemesh/issues/4599 --- hare/consensus_test.go | 10 ++++------ hare/hare_test.go | 4 ++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hare/consensus_test.go b/hare/consensus_test.go index 25d7234a08..956e5e3cb8 100644 --- a/hare/consensus_test.go +++ b/hare/consensus_test.go @@ -361,9 +361,7 @@ func TestAllDifferentSet(t *testing.T) { } func TestSndDelayedDishonest(t *testing.T) { - if testing.Short() { - t.Skip() - } + t.Skip() test := newConsensusTest() @@ -419,9 +417,7 @@ func TestSndDelayedDishonest(t *testing.T) { } func TestRecvDelayedDishonest(t *testing.T) { - if testing.Short() { - t.Skip() - } + t.Skip() test := newConsensusTest() @@ -514,6 +510,8 @@ func (ps *delayedPubSub) Register(protocol string, handler pubsub.GossipHandler, } func TestEquivocation(t *testing.T) { + t.Skip() + test := newConsensusTest() cfg := config.Config{N: 16, RoundDuration: 2 * time.Second, ExpectedLeaders: 5, LimitIterations: 1, Hdist: 20} diff --git a/hare/hare_test.go b/hare/hare_test.go index cff2307485..48d8b5ba0b 100644 --- a/hare/hare_test.go +++ b/hare/hare_test.go @@ -302,6 +302,8 @@ func TestHare_malfeasanceLoop(t *testing.T) { } func TestHare_onTick(t *testing.T) { + t.Skip() + cfg := config.DefaultConfig() cfg.N = 2 cfg.RoundDuration = 1 @@ -385,6 +387,8 @@ func TestHare_onTick(t *testing.T) { } func TestHare_onTick_notMining(t *testing.T) { + t.Skip() + cfg := config.DefaultConfig() cfg.N = 2 cfg.RoundDuration = 1 From f08f25a8f56be9c50d40eabab89400e4f6d6c13a Mon Sep 17 00:00:00 2001 From: k <30611210+countvonzero@users.noreply.github.com> Date: Mon, 4 Sep 2023 23:10:43 +0000 Subject: [PATCH 4/7] miner: do not omit own atx in active set (#4952) ## Motivation syncing from devnet-405, malicious identities filter out own atx and cause other nodes to fail processing the ballot ``` 2023-09-02T14:58:23.344-0700 WARN 5fbb1.sync failed fetching new ballots {"node_id": "5fbb17185b5850709b3c545e3be4fbea25a30d3362a0627d974495e96d8b640b", "module": "sync", "sessionId": "6123c073-483d-41ad-b514-77e47167f48f", "layer_id": 11549, "ballot_ids": ["6a70a5a8d0", "f3205c8f79", "1efadf7bbe", "dc0881473b", "57577ea37f", "1f3110b841", "c9f0910457", "f2e8dac11e", "c97b5ff911", "f824639d3b"], "errmsg": "hint: ballotDB, hash: 0x1f3110b8411255368ffc35e90c2f17ad3a898a13000000000000000000000000, err: fetch ballots: hint: ballotDB, hash: 0x926af68ad85b7db9d5a0fbd57ddefdbb32838149000000000000000000000000, err: ballot not eligible: atx 086658fac6 from ballot 926af68ad8 (refballot 926af68ad8) is not included into the active set\nhint: ballotDB, hash: 0xc9f0910457dfab80334c80e77cf6673fe408adcb000000000000000000000000, err: fetch ballots: hint: ballotDB, hash: 0x37df2b14296708054511e2627f1094f5b8528eb3000000000000000000000000, err: fetch ballots: hint: ballotDB, hash: 0x5b91d74480e89f741045aa9c4f95501b02fc3d53000000000000000000000000, err: ballot not eligible: atx e9aff052ae from ballot 5b91d74480 (refballot 5b91d74480) is not included into the active set", "name": "sync"} ``` --- miner/oracle.go | 2 +- miner/oracle_test.go | 120 +++++++++++++++++++++++++------------------ proposals/handler.go | 6 ++- 3 files changed, 76 insertions(+), 52 deletions(-) diff --git a/miner/oracle.go b/miner/oracle.go index 0e7242a355..9b12cb2656 100644 --- a/miner/oracle.go +++ b/miner/oracle.go @@ -155,7 +155,7 @@ func (o *Oracle) activeSet(targetEpoch types.EpochID) (uint64, uint64, types.ATX if err != nil { return err } - if grade != Good { + if grade != Good && header.NodeID != o.cfg.nodeID { o.log.With().Info("atx omitted from active set", header.ID, log.Int("grade", int(grade)), diff --git a/miner/oracle_test.go b/miner/oracle_test.go index ca4b06d0cc..79b8aed712 100644 --- a/miner/oracle_test.go +++ b/miner/oracle_test.go @@ -300,57 +300,77 @@ func TestOracle_MinimalActiveSetWeight(t *testing.T) { } func TestOracle_ATXGrade(t *testing.T) { - avgLayerSize := uint32(50) - layersPerEpoch := uint32(10) - o := createTestOracle(t, avgLayerSize, layersPerEpoch, 0) - lid := types.LayerID(layersPerEpoch * 3) - epochStart := time.Now() - o.mClock.EXPECT().LayerToTime(lid).Return(epochStart) - - goodTime := epochStart.Add(-4*networkDelay - time.Nanosecond) - okTime := epochStart.Add(-3*networkDelay - time.Nanosecond) - evilTime := epochStart.Add(-3 * networkDelay) - publishLayer := (lid.GetEpoch() - 1).FirstLayer() - ownAtx := genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, o.edSigner, goodTime) - expected := []types.ATXID{ownAtx.ID()} - for i := 1; i < activeSetSize; i++ { - sig, err := signing.NewEdSigner() - require.NoError(t, err) - atx := genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, goodTime) - expected = append(expected, atx.ID()) - } - // add some atx that have good timing, with malicious proof arriving before epoch start - for i := 0; i < activeSetSize; i++ { - sig, err := signing.NewEdSigner() - require.NoError(t, err) - atx := genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, goodTime) - genMinerMalfeasance(t, o.cdb, sig.NodeID(), epochStart) - expected = append(expected, atx.ID()) - } - // add some atx that have good timing, with malfeasance proof arriving after epoch start - for i := 0; i < activeSetSize; i++ { - sig, err := signing.NewEdSigner() - require.NoError(t, err) - genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, goodTime) - genMinerMalfeasance(t, o.cdb, sig.NodeID(), epochStart.Add(-1*time.Nanosecond)) - } - // add some atx that are acceptable - for i := 0; i < activeSetSize; i++ { - sig, err := signing.NewEdSigner() - require.NoError(t, err) - genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, okTime) - } - // add some atx that are evil - for i := 0; i < activeSetSize; i++ { - sig, err := signing.NewEdSigner() - require.NoError(t, err) - genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, evilTime) + for _, tc := range []struct { + desc string + ownMalicious bool + }{ + { + desc: "own atx is good", + }, + { + desc: "own atx is malicious", + ownMalicious: true, + }, + } { + tc := tc + t.Run(tc.desc, func(t *testing.T) { + avgLayerSize := uint32(50) + layersPerEpoch := uint32(10) + o := createTestOracle(t, avgLayerSize, layersPerEpoch, 0) + lid := types.LayerID(layersPerEpoch * 3) + epochStart := time.Now() + o.mClock.EXPECT().LayerToTime(lid).Return(epochStart) + + goodTime := epochStart.Add(-4*networkDelay - time.Nanosecond) + okTime := epochStart.Add(-3*networkDelay - time.Nanosecond) + evilTime := epochStart.Add(-3 * networkDelay) + publishLayer := (lid.GetEpoch() - 1).FirstLayer() + received := goodTime + if tc.ownMalicious { + received = evilTime + } + ownAtx := genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, o.edSigner, received) + expected := []types.ATXID{ownAtx.ID()} + for i := 1; i < activeSetSize; i++ { + sig, err := signing.NewEdSigner() + require.NoError(t, err) + atx := genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, goodTime) + expected = append(expected, atx.ID()) + } + // add some atx that have good timing, with malicious proof arriving before epoch start + for i := 0; i < activeSetSize; i++ { + sig, err := signing.NewEdSigner() + require.NoError(t, err) + atx := genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, goodTime) + genMinerMalfeasance(t, o.cdb, sig.NodeID(), epochStart) + expected = append(expected, atx.ID()) + } + // add some atx that have good timing, with malfeasance proof arriving after epoch start + for i := 0; i < activeSetSize; i++ { + sig, err := signing.NewEdSigner() + require.NoError(t, err) + genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, goodTime) + genMinerMalfeasance(t, o.cdb, sig.NodeID(), epochStart.Add(-1*time.Nanosecond)) + } + // add some atx that are acceptable + for i := 0; i < activeSetSize; i++ { + sig, err := signing.NewEdSigner() + require.NoError(t, err) + genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, okTime) + } + // add some atx that are evil + for i := 0; i < activeSetSize; i++ { + sig, err := signing.NewEdSigner() + require.NoError(t, err) + genMinerATX(t, o.cdb, types.RandomATXID(), publishLayer, sig, evilTime) + } + ee, err := o.ProposalEligibility(lid, types.RandomBeacon(), types.VRFPostIndex(1)) + require.NoError(t, err) + require.Equal(t, ownAtx.ID(), ee.Atx) + require.ElementsMatch(t, expected, ee.ActiveSet) + require.NotEmpty(t, ee.Proofs) + }) } - ee, err := o.ProposalEligibility(lid, types.RandomBeacon(), types.VRFPostIndex(1)) - require.NoError(t, err) - require.Equal(t, ownAtx.ID(), ee.Atx) - require.ElementsMatch(t, expected, ee.ActiveSet) - require.NotEmpty(t, ee.Proofs) } func createBallots(tb testing.TB, cdb *datastore.CachedDB, lid types.LayerID, numBallots int, common []types.ATXID) []*types.Ballot { diff --git a/proposals/handler.go b/proposals/handler.go index 7f1b0e61ff..046732b048 100644 --- a/proposals/handler.go +++ b/proposals/handler.go @@ -410,7 +410,11 @@ func (h *Handler) checkBallotSyntacticValidity(ctx context.Context, logger log.L t4 := time.Now() if eligible, err := h.validator.CheckEligibility(ctx, b); err != nil || !eligible { notEligible.Inc() - return nil, errNotEligible + var reason string + if err != nil { + reason = err.Error() + } + return nil, fmt.Errorf("%w: %v", errNotEligible, reason) } ballotDuration.WithLabelValues(eligible).Observe(float64(time.Since(t4))) From cb695b1b5bf7c471b583b618211964901ad737ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 08:01:35 +0000 Subject: [PATCH 5/7] build(deps): Bump actions/checkout from 3 to 4 (#4962) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
Release notes

Sourced from actions/checkout's releases.

v4.0.0

What's Changed

New Contributors

Full Changelog: https://github.com/actions/checkout/compare/v3...v4.0.0

v3.6.0

What's Changed

New Contributors

Full Changelog: https://github.com/actions/checkout/compare/v3.5.3...v3.6.0

v3.5.3

What's Changed

New Contributors

Full Changelog: https://github.com/actions/checkout/compare/v3...v3.5.3

v3.5.2

What's Changed

Full Changelog: https://github.com/actions/checkout/compare/v3.5.1...v3.5.2

v3.5.1

What's Changed

New Contributors

... (truncated)

Changelog

Sourced from actions/checkout's changelog.

Changelog

v4.0.0

v3.6.0

v3.5.3

v3.5.2

v3.5.1

v3.5.0

v3.4.0

v3.3.0

v3.2.0

v3.1.0

v3.0.2

v3.0.1

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--- .github/workflows/ci.yml | 12 ++++++------ .github/workflows/coverage.yml | 2 +- .github/workflows/dockerhub.yml | 2 +- .github/workflows/release.yml | 4 ++-- .github/workflows/systest.yml | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 276ce13cbc..29678ef688 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: outputs: nondocchanges: ${{ steps.filter.outputs.nondoc }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: dorny/paths-filter@v2 id: filter with: @@ -60,7 +60,7 @@ jobs: - name: Add OpenCL support run: sudo apt-get update -q && sudo apt-get install -qy ocl-icd-opencl-dev libpocl2 - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: set up go uses: actions/setup-go@v4 with: @@ -83,7 +83,7 @@ jobs: - name: Add OpenCL support run: sudo apt-get update -q && sudo apt-get install -qy ocl-icd-opencl-dev libpocl2 - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: set up go uses: actions/setup-go@v4 with: @@ -121,7 +121,7 @@ jobs: run: | Set-MpPreference -DisableRealtimeMonitoring $true - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: set up go uses: actions/setup-go@v4 with: @@ -167,7 +167,7 @@ jobs: run: | Set-MpPreference -DisableRealtimeMonitoring $true - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: lfs: true - name: set up go @@ -235,7 +235,7 @@ jobs: run: | Set-MpPreference -DisableRealtimeMonitoring $true - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: lfs: true - name: set up go diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 433cd3a86c..d96385a96a 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -16,7 +16,7 @@ jobs: run: | sudo ethtool -K eth0 tx off sudo ethtool -K eth0 rx off - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: lfs: true - name: set up go diff --git a/.github/workflows/dockerhub.yml b/.github/workflows/dockerhub.yml index e1268923ef..1867b9509e 100644 --- a/.github/workflows/dockerhub.yml +++ b/.github/workflows/dockerhub.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Build docker images run: | make dockerbuild-go diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 81bcce3139..8fe4cb29ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,7 @@ jobs: Set-MpPreference -DisableRealtimeMonitoring $true - name: Check out Git repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: lfs: true - name: Setup Go @@ -86,7 +86,7 @@ jobs: needs: build-and-upload steps: - name: Check out Git repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Create Release uses: softprops/action-gh-release@v1 diff --git a/.github/workflows/systest.yml b/.github/workflows/systest.yml index 7dcbba0efb..576db71eac 100644 --- a/.github/workflows/systest.yml +++ b/.github/workflows/systest.yml @@ -37,7 +37,7 @@ jobs: outputs: nondocchanges: ${{ steps.filter.outputs.nondoc }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: dorny/paths-filter@v2 id: filter with: @@ -52,7 +52,7 @@ jobs: - filter-changes timeout-minutes: 70 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup kubectl id: install From a4de6afb16365098464540170447900c16f5429a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 12:27:11 +0000 Subject: [PATCH 6/7] build(deps): Bump github.com/libp2p/go-libp2p-kad-dht from 0.25.0 to 0.25.1 (#4963) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [github.com/libp2p/go-libp2p-kad-dht](https://github.com/libp2p/go-libp2p-kad-dht) from 0.25.0 to 0.25.1.
Release notes

Sourced from github.com/libp2p/go-libp2p-kad-dht's releases.

v0.25.1

What's Changed

Full Changelog: https://github.com/libp2p/go-libp2p-kad-dht/compare/v0.25.0...v0.25.1

Commits
  • b63ad60 chore: release v0.25.1
  • 68c5dee perf: don't buffer the output of FindProvidersAsync
  • f901041 chore: use go-libp2p-routing-helpers for tracing needs
  • 134f7e4 fix: properly iterate in tracing for protocol messenger
  • 0c90569 fix: apply addrFilters in the dht (#872)
  • 2cbe38a Merge pull request #870 from libp2p/issue-868
  • b564493 fixing base32 import
  • 777160f add provider record addresses to peerstore
  • 2a515e8 Merge pull request #863 from libp2p/uci/copy-templates
  • 079d352 Merge remote-tracking branch 'origin/master' into uci/copy-templates
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/libp2p/go-libp2p-kad-dht&package-manager=go_modules&previous-version=0.25.0&new-version=0.25.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--- go.mod | 24 ++++++++++++------------ go.sum | 47 ++++++++++++++++++++++++----------------------- 2 files changed, 36 insertions(+), 35 deletions(-) diff --git a/go.mod b/go.mod index 12cce16c4d..cb112d726f 100644 --- a/go.mod +++ b/go.mod @@ -21,12 +21,12 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.6 github.com/ipfs/go-ds-leveldb v0.5.0 github.com/ipfs/go-log/v2 v2.5.1 - github.com/libp2p/go-libp2p v0.29.2 - github.com/libp2p/go-libp2p-kad-dht v0.25.0 + github.com/libp2p/go-libp2p v0.30.0 + github.com/libp2p/go-libp2p-kad-dht v0.25.1 github.com/libp2p/go-libp2p-pubsub v0.9.3 github.com/libp2p/go-libp2p-record v0.2.0 github.com/mitchellh/mapstructure v1.5.0 - github.com/multiformats/go-multiaddr v0.10.1 + github.com/multiformats/go-multiaddr v0.11.0 github.com/multiformats/go-varint v0.0.7 github.com/natefinch/atomic v1.0.1 github.com/oasisprotocol/curve25519-voi v0.0.0-20230110094441-db37f07504ce @@ -51,7 +51,7 @@ require ( github.com/zeebo/blake3 v0.2.3 go.uber.org/atomic v1.11.0 go.uber.org/zap v1.25.0 - golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 + golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 golang.org/x/sync v0.3.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d google.golang.org/grpc v1.57.0 @@ -99,7 +99,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/google/gnostic v0.5.7-v3refs // indirect github.com/google/gopacket v1.1.19 // indirect - github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8 // indirect + github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f // indirect github.com/google/s2a-go v0.1.4 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.5 // indirect github.com/googleapis/gax-go/v2 v2.12.0 // indirect @@ -133,10 +133,11 @@ require ( github.com/libp2p/go-flow-metrics v0.1.0 // indirect github.com/libp2p/go-libp2p-asn-util v0.3.0 // indirect github.com/libp2p/go-libp2p-kbucket v0.6.3 // indirect + github.com/libp2p/go-libp2p-routing-helpers v0.7.2 // indirect github.com/libp2p/go-msgio v0.3.0 // indirect github.com/libp2p/go-nat v0.2.0 // indirect github.com/libp2p/go-netroute v0.2.1 // indirect - github.com/libp2p/go-reuseport v0.3.0 // indirect + github.com/libp2p/go-reuseport v0.4.0 // indirect github.com/libp2p/go-yamux/v4 v4.0.1 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mailru/easyjson v0.7.7 // indirect @@ -163,7 +164,7 @@ require ( github.com/nullstyle/go-xdr v0.0.0-20180726165426-f4c839f75077 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect - github.com/opencontainers/runtime-spec v1.0.2 // indirect + github.com/opencontainers/runtime-spec v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect @@ -171,12 +172,11 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/polydawn/refmt v0.89.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect - github.com/prometheus/procfs v0.10.1 // indirect + github.com/prometheus/procfs v0.11.1 // indirect github.com/pyroscope-io/dotnetdiag v1.2.1 // indirect github.com/quic-go/qpack v0.4.0 // indirect - github.com/quic-go/qtls-go1-19 v0.3.3 // indirect - github.com/quic-go/qtls-go1-20 v0.2.3 // indirect - github.com/quic-go/quic-go v0.36.4 // indirect + github.com/quic-go/qtls-go1-20 v0.3.2 // indirect + github.com/quic-go/quic-go v0.38.0 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect @@ -206,7 +206,7 @@ require ( golang.org/x/term v0.11.0 // indirect golang.org/x/text v0.12.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.11.0 // indirect + golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect gonum.org/v1/gonum v0.13.0 // indirect diff --git a/go.sum b/go.sum index 0c77fbeaed..6e13b7e7eb 100644 --- a/go.sum +++ b/go.sum @@ -271,8 +271,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8 h1:n6vlPhxsA+BW/XsS5+uqi7GyzaLa5MH7qlSLBZtRdiA= -github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= +github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f h1:pDhu5sgp8yJlEF/g6osliIIpF9K4F5jvkULXa4daRDQ= +github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= @@ -401,18 +401,20 @@ github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38y github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= -github.com/libp2p/go-libp2p v0.29.2 h1:uPw/c8hOxoLP/KhFnzlc5Ejqf+OmAL1dwIsqE31WBtY= -github.com/libp2p/go-libp2p v0.29.2/go.mod h1:OU7nSq0aEZMsV2wY8nXn1+XNNt9q2UiR8LjW3Kmp2UE= +github.com/libp2p/go-libp2p v0.30.0 h1:9EZwFtJPFBcs/yJTnP90TpN1hgrT/EsFfM+OZuwV87U= +github.com/libp2p/go-libp2p v0.30.0/go.mod h1:nr2g5V7lfftwgiJ78/HrID+pwvayLyqKCEirT2Y3Byg= github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s= github.com/libp2p/go-libp2p-asn-util v0.3.0/go.mod h1:B1mcOrKUE35Xq/ASTmQ4tN3LNzVVaMNmq2NACuqyB9w= -github.com/libp2p/go-libp2p-kad-dht v0.25.0 h1:T2SXQ/VlXTQVLChWY/+OyOsmGMRJvB5kiR+eJt7jtvI= -github.com/libp2p/go-libp2p-kad-dht v0.25.0/go.mod h1:P6fz+J+u4tPigvS5J0kxQ1isksqAhmXiS/pNaEw/nFI= +github.com/libp2p/go-libp2p-kad-dht v0.25.1 h1:ofFNrf6MMEy4vi3R1VbJ7LOcTn3Csh0cDcaWHTxtWNA= +github.com/libp2p/go-libp2p-kad-dht v0.25.1/go.mod h1:6za56ncRHYXX4Nc2vn8z7CZK0P4QiMcrn77acKLM2Oo= github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0= github.com/libp2p/go-libp2p-kbucket v0.6.3/go.mod h1:RCseT7AH6eJWxxk2ol03xtP9pEHetYSPXOaJnOiD8i0= github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo= github.com/libp2p/go-libp2p-pubsub v0.9.3/go.mod h1:RYA7aM9jIic5VV47WXu4GkcRxRhrdElWf8xtyli+Dzc= github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0= github.com/libp2p/go-libp2p-record v0.2.0/go.mod h1:I+3zMkvvg5m2OcSdoL0KPljyJyvNDFGKX7QdlpYUcwk= +github.com/libp2p/go-libp2p-routing-helpers v0.7.2 h1:xJMFyhQ3Iuqnk9Q2dYE1eUTzsah7NLw3Qs2zjUV78T0= +github.com/libp2p/go-libp2p-routing-helpers v0.7.2/go.mod h1:cN4mJAD/7zfPKXBcs9ze31JGYAZgzdABEm+q/hkswb8= github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA= github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= github.com/libp2p/go-msgio v0.3.0/go.mod h1:nyRM819GmVaF9LX3l03RMh10QdOroF++NBbxAb0mmDM= @@ -420,8 +422,8 @@ github.com/libp2p/go-nat v0.2.0 h1:Tyz+bUFAYqGyJ/ppPPymMGbIgNRH+WqC5QrT5fKrrGk= github.com/libp2p/go-nat v0.2.0/go.mod h1:3MJr+GRpRkyT65EpVPBstXLvOlAPzUVlG6Pwg9ohLJk= github.com/libp2p/go-netroute v0.2.1 h1:V8kVrpD8GK0Riv15/7VN6RbUQ3URNZVosw7H2v9tksU= github.com/libp2p/go-netroute v0.2.1/go.mod h1:hraioZr0fhBjG0ZRXJJ6Zj2IVEVNx6tDTFQfSmcq7mQ= -github.com/libp2p/go-reuseport v0.3.0 h1:iiZslO5byUYZEg9iCwJGf5h+sf1Agmqx2V2FDjPyvUw= -github.com/libp2p/go-reuseport v0.3.0/go.mod h1:laea40AimhtfEqysZ71UpYj4S+R9VpH8PgqLo7L+SwI= +github.com/libp2p/go-reuseport v0.4.0 h1:nR5KU7hD0WxXCJbmw7r2rhRYruNRl2koHw8fQscQm2s= +github.com/libp2p/go-reuseport v0.4.0/go.mod h1:ZtI03j/wO5hZVDFo2jKywN6bYKWLOy8Se6DrI2E1cLU= github.com/libp2p/go-yamux/v4 v4.0.1 h1:FfDR4S1wj6Bw2Pqbc8Uz7pCxeRBPbwsBbEdfwiCypkQ= github.com/libp2p/go-yamux/v4 v4.0.1/go.mod h1:NWjl8ZTLOGlozrXSOZ/HlfG++39iKNnM5wwmtQP1YB4= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= @@ -472,8 +474,8 @@ github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9 github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo= github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4= -github.com/multiformats/go-multiaddr v0.10.1 h1:HghtFrWyZEPrpTvgAMFJi6gFdgHfs2cb0pyfDsk+lqU= -github.com/multiformats/go-multiaddr v0.10.1/go.mod h1:jLEZsA61rwWNZQTHHnqq2HNa+4os/Hz54eqiRnsRqYQ= +github.com/multiformats/go-multiaddr v0.11.0 h1:XqGyJ8ufbCE0HmTDwx2kPdsrQ36AGPZNZX6s6xfJH10= +github.com/multiformats/go-multiaddr v0.11.0/go.mod h1:gWUm0QLR4thQ6+ZF6SXUw8YjtwQSPapICM+NmCkxHSM= github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk= github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= @@ -515,8 +517,9 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.27.8 h1:gegWiwZjBsf2DgiSbf5hpokZ98JVDMcWkUiigk6/KXc= -github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg= +github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= @@ -544,20 +547,18 @@ github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7q github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= +github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI= +github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= github.com/pyroscope-io/dotnetdiag v1.2.1 h1:3XEMrfFJnZ87BiEhozyQKmCUAuMd/Spq7KChPuD2Cf0= github.com/pyroscope-io/dotnetdiag v1.2.1/go.mod h1:eFUEHCp4eD1TgcXMlJihC+R4MrqGf7nTRdWxNADbDHA= github.com/pyroscope-io/pyroscope v0.37.2 h1:MOgLU/oO7VfV6jWqb0xoFH/YPSVbWD5pGsX+tZVGh98= github.com/pyroscope-io/pyroscope v0.37.2/go.mod h1:r4wq4ajJvN7g1OeXGyNvmwzBfQ+Tm5alYvmxqEQSTsc= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= -github.com/quic-go/qtls-go1-19 v0.3.3 h1:wznEHvJwd+2X3PqftRha0SUKmGsnb6dfArMhy9PeJVE= -github.com/quic-go/qtls-go1-19 v0.3.3/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI= -github.com/quic-go/qtls-go1-20 v0.2.3 h1:m575dovXn1y2ATOb1XrRFcrv0F+EQmlowTkoraNkDPI= -github.com/quic-go/qtls-go1-20 v0.2.3/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= -github.com/quic-go/quic-go v0.36.4 h1:CXn/ZLN5Vntlk53fjR+kUMC8Jt7flfQe+I5Ty5A+k0o= -github.com/quic-go/quic-go v0.36.4/go.mod h1:qxQumdeKw5GmWs1OsTZZnOxzSI+RJWuhf1O8FN35L2o= +github.com/quic-go/qtls-go1-20 v0.3.2 h1:rRgN3WfnKbyik4dBV8A6girlJVxGand/d+jVKbQq5GI= +github.com/quic-go/qtls-go1-20 v0.3.2/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= +github.com/quic-go/quic-go v0.38.0 h1:T45lASr5q/TrVwt+jrVccmqHhPL2XuSyoCLVCpfOSLc= +github.com/quic-go/quic-go v0.38.0/go.mod h1:MPCuRq7KBK2hNcfKj/1iD1BGuN3eAYMeNxp3T42LRUg= github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU= github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= @@ -756,8 +757,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw= -golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 h1:m64FZMko/V45gv0bNmrNYoDEq8U5YUhetc9cBWKS1TQ= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1005,8 +1006,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.11.0 h1:EMCa6U9S2LtZXLAMoWiR/R8dAQFRqbAitmbJ2UKhoi8= -golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 h1:Vve/L0v7CXXuxUmaMGIEK/dEeq7uiqb5qBgQrZzIE7E= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From d779e0d0592fc65f6e29e615e2c838f4edf03cfd Mon Sep 17 00:00:00 2001 From: k <30611210+countvonzero@users.noreply.github.com> Date: Tue, 5 Sep 2023 18:39:23 +0000 Subject: [PATCH 7/7] block generator: lower log severity when node disagree on mesh hash (#4961) ## Motivation Closes #4960 related #4907 this error is not an actionable for users and caused confusion. --- blocks/generator.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/blocks/generator.go b/blocks/generator.go index ddd0ff3e26..9569687f59 100644 --- a/blocks/generator.go +++ b/blocks/generator.go @@ -150,11 +150,19 @@ func (g *Generator) run() error { maxLayer = types.MaxLayer(maxLayer, out.Layer) _, err := g.processHareOutput(out) if err != nil { - g.logger.With().Error("failed to process hare output", - log.Context(out.Ctx), - out.Layer, - log.Err(err), - ) + if errors.Is(err, errNodeHasBadMeshHash) { + g.logger.With().Info("node has different mesh hash from majority, will download block instead", + log.Context(out.Ctx), + out.Layer, + log.Err(err), + ) + } else { + g.logger.With().Error("failed to process hare output", + log.Context(out.Ctx), + out.Layer, + log.Err(err), + ) + } } if len(g.optimisticOutput) > 0 { g.processOptimisticLayers(maxLayer)