tycho garen
947cede88a
narrow panics
3 years ago
Sam Kleinman
c1b9d93438
state: propogate error from state store ( #8171 )
* state: propogate error from state store
* fix lint
3 years ago
Sam Kleinman
33539851e3
Merge branch 'master' into consensus-no-panic-in-shutdown
3 years ago
Sam Kleinman
c680cca96e
consensus: reduce size of test fixtures and logging rate ( #8172 )
We can reduce the size of test fixtures (which will improve test
reliability) without impacting these tests' primary role (which is
correctness.)
Also reducing these test logging will make the tests easier to read,
which whill be a good quality of life improvement for devs.
3 years ago
Sam Kleinman
8434276517
Merge branch 'master' into consensus-no-panic-in-shutdown
3 years ago
dependabot[bot]
039fef14e0
build(deps): Bump docker/build-push-action from 2.9.0 to 2.10.0 ( #8167 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2.9.0 to 2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/docker/build-push-action/releases ">docker/build-push-action's releases</a>.</em></p>
<blockquote>
<h2>v2.10.0</h2>
<ul>
<li>Add <code>imageid</code> output and use metadata to set <code>digest</code> output (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/569 ">#569</a>)</li>
<li>Add <code>build-contexts</code> input (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/563 ">#563</a>)</li>
<li>Enhance outputs display (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/559 ">#559</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ac9327eae2
"><code>ac9327e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/563 ">#563</a> from crazy-max/new-inputs</li>
<li><a href="7c41daf2a5
"><code>7c41daf</code></a> <code>build-contexts</code> input</li>
<li><a href="e115266953
"><code>e115266</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/569 ">#569</a> from crazy-max/imageid-digest</li>
<li><a href="50fa0058d9
"><code>50fa005</code></a> add imageid output and use metadata to set digest output</li>
<li><a href="309fb9180f
"><code>309fb91</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/568 ">#568</a> from docker/dependabot/github_actions/actions/checkout-3</li>
<li><a href="db68526220
"><code>db68526</code></a> Bump actions/checkout from 2 to 3</li>
<li><a href="fe02965b48
"><code>fe02965</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/559 ">#559</a> from crazy-max/outputs</li>
<li><a href="5af8693d82
"><code>5af8693</code></a> Enhance outputs display</li>
<li>See full diff in <a href="https://github.com/docker/build-push-action/compare/v2.9.0...v2.10.0 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=2.9.0&new-version=2.10.0 )](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)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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 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)
</details>
3 years ago
tycho garen
b4c295ed84
consensus: avoid panic during shutdown
3 years ago
dependabot[bot]
3a75fbceec
build(deps): Bump gaurav-nelson/github-action-markdown-link-check from 1.0.13 to 1.0.14 ( #8166 )
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check ) from 1.0.13 to 1.0.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/releases ">gaurav-nelson/github-action-markdown-link-check's releases</a>.</em></p>
<blockquote>
<h2>1.0.14</h2>
<h2>Changes</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/pull/116 ">gaurav-nelson/github-action-markdown-link-check#116</a> - Changed the base image to more stage Node image <code>node:lts-alpine</code></li>
<li><a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/pull/126 ">gaurav-nelson/github-action-markdown-link-check#126</a> - Use markdown-link-check version 3.9.3</li>
</ul>
<p>Thank you <a href="https://github.com/thanethomson "><code>@thanethomson</code></a> <a href="https://github.com/edumco "><code>@edumco</code></a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="58f84fd654
"><code>58f84fd</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/issues/116 ">#116</a> from edumco/docker-update</li>
<li><a href="56618d65ea
"><code>56618d6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/issues/126 ">#126</a> from thanethomson/bump-mlc-version</li>
<li><a href="611438d456
"><code>611438d</code></a> Bump markdown-link-check version to 3.9.3</li>
<li><a href="8f0156cc69
"><code>8f0156c</code></a> Update Ko-fi link</li>
<li><a href="af2ced5c1b
"><code>af2ced5</code></a> Changes base image to LTS</li>
<li><a href="9de9db77de
"><code>9de9db7</code></a> Fixed broken link</li>
<li>See full diff in <a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.13...1.0.14 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gaurav-nelson/github-action-markdown-link-check&package-manager=github_actions&previous-version=1.0.13&new-version=1.0.14 )](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)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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 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)
</details>
3 years ago
M. J. Fromberger
ea964e2133
node: always sync with the application at startup ( #8159 )
3 years ago
William Banfield
485c96b0d3
consensus: change lock handling in reactor and handleMsg for RoundState (forward-port #7994 #7992 ) ( #8139 )
Related to #8157
3 years ago
Sam Kleinman
9a833a8495
consensus: skip channel close during shutdown ( #8155 )
I see this panic in tests occasionally, and I don't think there's any
need to close this channel:
- it's only sent to in one place which has a select case with a
default clause, so there's no chance of deadlocks.
- the only place we recieve from it thas a timeout.
3 years ago
Sam Kleinman
0bded371c5
testing: logger cleanup ( #8153 )
This contains two major changes:
- Remove the legacy test logging method, and just explicitly call the
noop logger. This is just to make the test logging behavior more
coherent and clear.
- Move the logging in the light package from the testing.T logger to
the noop logger. It's really the case that we very rarely need/want
to consider test logs unless we're doing reproductions and running a
narrow set of tests.
In most cases, I (for one) prefer to run in verbose mode so I can
watch progress of tests, but I basically never need to consider
logs. If I do want to see logs, then I can edit in the testing.T
logger locally (which is what you have to do today, anyway.)
3 years ago
Sam Kleinman
12d13cd31d
mempool: reduce size of test ( #8152 )
This is failing intermittently, but it's a really simple test, and I
suspect that we're just running into thread scheduling issues on CI
nodes. I don't think making the test smaller reduces the utility of
this test.
3 years ago
William Banfield
bba8367aac
state: panic on ResponsePrepareProposal validation error ( #8145 )
* state: panic on ResponsePrepareProposal validation error
* lint++
Co-authored-by: Sam Kleinman <garen@tychoish.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Sam Kleinman
f1a8f47d4d
types: minor cleanup of un or minimally used types ( #8154 )
3 years ago
Sam Kleinman
f61e6e4201
autofile: remove vestigal close mechanism ( #8150 )
3 years ago
Sam Kleinman
1db41663c7
consensus: avoid race in accessing channel ( #8149 )
3 years ago
Sam Kleinman
5e0e05f938
consensus: avoid persistent kvstore in tests ( #8148 )
3 years ago
Sam Kleinman
5bb51aab03
events: remove service aspects of event switch ( #8146 )
3 years ago
Sam Kleinman
13f7501950
blocksync: remove intermediate channel ( #8140 )
Based on local testing, I'm now convinced that this is ok, and also I think the fact that the new p2p layer has more caching and queue.
3 years ago
JayT106
4400b0f6d3
p2p: adjust max non-persistent peer score ( #8137 )
Guarantee persistent peers have the highest connecting priority.
The peerStore.Ranked returns an arbitrary order of peers with the same scores.
3 years ago
frog power 4000
5b6849ccf7
Docs: abci++ typo ( #8147 )
3 years ago
Sam Kleinman
a68e356596
consensus: avoid extra close channel ( #8144 )
Saw this in a test panic, doesn't seem neccessary.
3 years ago
William Banfield
7c91b53999
docs: PBTS synchrony issues runbook ( #8129 )
closes : #7756
# What does this pull request change?
This pull request adds a new runbook for operators enountering errors related to the new Proposer-Based Timestamps algorithm. The goal of this runbook is to give operators a set of clear steps that they can follow if they are having issues producing blocks because of clock synchronization problems.
This pull request also renames the `*PrevoteDelay` metrics to drop the term `MessageDelay`. These metrics provide a combined view of `message_delay` + `synchrony` so the name may be confusing.
# Questions to reviewers
* Are there ways to make the set of steps clearer or are there any pieces that seem confusing?
3 years ago
William Banfield
02c7199eec
types: update synchrony params to match checked in proto ( #8142 )
The `.proto` file do not have the `nullable = false` annotation present on the `SynchronyParams` durations. This pull request updates the `SynchronyParams` to match the checked in proto files. Note, this does not make the code buildable against the latest protos. This pull request was achieved by checking out all files _not relevant_ to the `SynchronyParams` and removing the new `TimeoutParams` from the the `params.proto` file. Future updates will add these back.
This pull request also adds a `nil` check to the `pbParams.Synchrony` field in `ConsensusParamsFromProto`. Old versions of Tendermint will not have the `Synchrony` parameters filled in so this code would panic on startup.
We will fill in the empty fields with defaults, but per https://github.com/tendermint/tendermint/blob/master/docs/rfc/rfc-009-consensus-parameter-upgrades.md#only-update-hashedparams-on-hash-breaking-releases we will keep out of the hash during this release.
3 years ago
Sam Kleinman
1dd8807cc3
mempool: test harness should expose application ( #8143 )
This is minor, but I was trying to write a test and realized that the
application reference in the harness isn't actually used, which is
quite confusing.
3 years ago
Sam Kleinman
07b46d5a05
blocksync: drop redundant shutdown mechanisms ( #8136 )
3 years ago
Sam Kleinman
7a0b05f22d
libs/events: remove unneccessary unsubscription code ( #8135 )
The events switch code is largely vestigal and is responsible for
wiring between the consensus state machine and the consensus
reactor. While there might have been a need, historicallly to managed
these subscriptions at runtime, it's nolonger used: subscriptions are
registered during startup, and then the switch shuts down at at the
end.
Eventually the EventSwitch should be replaced by a much smaller
implementation of an eventloop in the consensus state machine, but
cutting down on the scope of the event switch will help clarify the
requirements from the consensus side.
3 years ago
Sam Kleinman
bedb68078c
libs/clist: remove unused surface area ( #8134 )
3 years ago
dependabot[bot]
348c494c99
build(deps): Bump github.com/stretchr/testify from 1.7.0 to 1.7.1 ( #8131 )
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify ) from 1.7.0 to 1.7.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="083ff1c044
"><code>083ff1c</code></a> Fixed didPanic to now detect panic(nil).</li>
<li><a href="1e36bfe104
"><code>1e36bfe</code></a> Use cross Go version compatible build tag syntax</li>
<li><a href="e798dc2763
"><code>e798dc2</code></a> Add docs on 1.17 build tags</li>
<li><a href="83198c2c50
"><code>83198c2</code></a> assert: guard CanConvert call in backward compatible wrapper</li>
<li><a href="087b655c75
"><code>087b655</code></a> assert: allow comparing time.Time</li>
<li><a href="7bcf74e94f
"><code>7bcf74e</code></a> fix msgAndArgs forwarding</li>
<li><a href="c29de71342
"><code>c29de71</code></a> add tests for correct msgAndArgs forwarding</li>
<li><a href="f87e2b2119
"><code>f87e2b2</code></a> Update builds</li>
<li><a href="ab6dc32628
"><code>ab6dc32</code></a> fix linting errors in /assert package</li>
<li><a href="edff5a049b
"><code>edff5a0</code></a> fix funtion name</li>
<li>Additional commits viewable in <a href="https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.7.0&new-version=1.7.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)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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 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)
</details>
3 years ago
Sam Kleinman
48b1952f18
state: avoid panics for marshaling errors ( #8125 )
3 years ago
William Banfield
93c4e00e8e
abci++: remove app_signed_updates ( #8128 )
3 years ago
William Banfield
68c624f5de
abci++: synchronize PrepareProposal with the newest version of the spec ( #8094 )
This change implements the logic for the PrepareProposal ABCI++ method call. The main logic for creating and issuing the PrepareProposal request lives in execution.go and is tested in a set of new tests in execution_test.go. This change also updates the mempool mock to use a mockery generated version and removes much of the plumbing for the no longer used ABCIResponses.
3 years ago
Thane Thomson
4dce885994
ADR: Protocol Buffers Management ( #8029 )
* First draft of protobuf management ADR
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Pre-emptively add ADR to "Accepted" section in README
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Add missing prototool link
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Elaborate on positive consequences of decision
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Add clang-format GA to detailed design
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Fix broken link
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Add notes on automated docs generation
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Rewording and restructuring for clarity
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Grammatical fixes and elaborations
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Revise wording for clarity
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Address comments
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Update ADR to reflect current consensus on Buf
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Minor grammar fix
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
3 years ago
Sam Kleinman
faf123bda2
autofile: reduce minor panic and docs changes ( #8122 )
* autofile: reduce minor panic and docs changes
* fix lint
3 years ago
Sam Kleinman
da5c09cf6f
cleanup: remove commented code ( #8123 )
3 years ago
Sam Kleinman
b08dd93d88
libs/log: remove Must constructor ( #8120 )
* libs/log: remove Must constructor
* Update test/e2e/node/main.go
Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com>
* use stdlog
Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com>
3 years ago
Sam Kleinman
a5320da5c8
node: cleanup evidence db ( #8119 )
3 years ago
William Banfield
8e5dfa55ef
rfc: RFC 015 ABCI++ Tx Mutation ( #8033 )
This pull requests adds an RFC to discuss the proposed mechanism for transaction replacement detailed in the ABCI++ specification.
3 years ago
Jordi Pinyana
70df7d9e6e
readme: add vocdoni ( #8117 )
Add Vocdoni under applications section on the README.
3 years ago
frog power 4000
98dd0d6c5a
minor typo in docs ( #8116 )
3 years ago
frog power 4000
aff1481682
Update abci++_basic_concepts_002_draft.md ( #8114 )
Minor Typo (nice doc!)
3 years ago
M. J. Fromberger
e9bc33d807
consensus: ensure the node terminates on consensus failure ( #8111 )
Updates #8077 . The panic handler for consensus currently attempts to effect a
clean shutdown, but this can leave a failed node running in an unknown state
for an arbitrary amount of time after the failure.
Since a panic at this point means consensus is already irrecoverably broken, we
should not allow the node to continue executing. After making a best effort to
shut down the writeahead log, re-panic to ensure the node will terminate before
any further state transitions are processed.
Even with this change, it is possible some transitions may occur while the
cleanup is happening. It might be preferable to abort unconditionally without
any attempt at cleanup.
Related changes:
- Clean up the creation of WAL directories.
- Filter WAL close errors at rethrow.
3 years ago
Thane Thomson
72bbe64da7
proto: update proto generation to use buf ( #7975 )
* Hard-code go_package option for .proto files
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Automatically relocate generated ABCI types after proto-gen
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Skip building gogoproto (i.e. only build our types)
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Remove unnecessary proto generation scripts
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Upgrade buf config from v1beta1 to v1
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Add simple proto generation script
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Replace buf-based protobuf generation with simple protoc-based approach
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Remove custom buf-based Docker image generation config and Dockerfile
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Adopt Cosmos SDK's approach to Protobuf linting and breakage checking in CI
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Suppress command echo when running proto checks
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Fix proto-check workflow YAML indentation
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Restore proto-format target
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Replace custom BASH script with make equivalent
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Remove proto linting/breaking changes CI checks after discussion today
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Remove dangling reference to CI workflow that no longer exists
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Update contributing guidelines relating to protos
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Use buf instead for generating protos
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Remove unused buf config for gogoprotobuf
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Add reminder for if we migrate fully to buf
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Restore protopackage script for #8065
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Fix permissions on protopackage script
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Update contributing guidelines to show building of protos using buf
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Fix breaking changes check and add disclaimer
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Expand on contributing guidelines for clarity
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Re-remove old proto workflows
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Add buf-based proto linting workflow in CI
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Superficially reorder proto targets
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Fix proto lints
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Fix GA workflow YAML indentation
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Temporarily use forked version of mlc
Use forked version of markdown-link-check until
https://github.com/gaurav-nelson/github-action-markdown-link-check/pull/126
lands.
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Temporarily disable markdown link checker
Signed-off-by: Thane Thomson <connect@thanethomson.com>
* Remove gogo protos - superseded by version from buf registry
Signed-off-by: Thane Thomson <connect@thanethomson.com>
3 years ago
M. J. Fromberger
658a7661c5
p2p: remove unnecessary panic handling in PEX reactor ( #8110 )
The message handling in this reactor is all under control of the reactor
itself, and does not call out to callbacks or other externally-supplied code.
It doesn't need to check for panics.
- Remove an irrelevant channel ID check.
- Remove an unnecessary panic recovery wrapper.
3 years ago
M. J. Fromberger
89b4321af2
p2p: update polling interval calculation for PEX requests ( #8106 )
The PEX reactor has a simple feedback control mechanism to decide how often to
poll peers for peer address updates. The idea is to poll more frequently when
knowledge of the network is less, and decrease frequency as knowledge grows.
This change solves two problems:
1. It is possible in some cases we may poll a peer "too often" and get dropped
by that peer for spamming.
2. The first successful peer update with any content resets the polling timer
to a very long time (10m), meaning if we are unlucky in getting an
incomplete reply while the network is small, we may not try again for a very
long time. This may contribute to difficulties bootstrapping sync.
The main change here is to only update the interval when new information is
added to the system, and not (as before) whenever a request is sent out to a
peer. The rate computation is essentially the same as before, although the code
has been a bit simplified, and I consolidated some of the error handling so
that we don't have to check in multiple places for the same conditions.
Related changes:
- Improve error diagnostics for too-soon and overflow conditions.
- Clean up state handling in the poll interval computation.
- Pin the minimum interval avert a chance of PEX spamming a peer.
3 years ago
dependabot[bot]
c79bb13807
build(deps): Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 ( #8109 )
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.3.0 to 1.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/spf13/cobra/releases ">github.com/spf13/cobra's releases</a>.</em></p>
<blockquote>
<h2>v1.4.0</h2>
<h1>Winter 2022 Release ❄️ </h1>
<p>Another season, another release!</p>
<h2>Goodbye viper! 🐍 🚀 </h2>
<p>The core Cobra library no longer requires Viper and all of its indirect dependencies. This means that Cobra's dependency tree has been drastically thinned! The Viper dependency was included because of the <code>cobra</code> CLI generation tool. <a href="https://github.com/spf13/cobra-cli/releases/tag/v1.3.0 ">This tool has migrated to <code>spf13/cobra-cli</code></a>.</p>
<p>It's <em>pretty unlikely</em> you were importing and using <strong>the bootstrapping CLI tool</strong> as part of your application (after all, it's just a tool to get going with core <code>cobra</code>).</p>
<p>But if you were, replace occurrences of</p>
<pre><code>"github.com/spf13/cobra/cobra"
</code></pre>
<p>with</p>
<pre><code>"github.com/spf13/cobra-cli"
</code></pre>
<p>And in your <code>go.mod</code>, you'll want to also include this dependency:</p>
<pre><code>github.com/spf13/cobra-cli v1.3.0
</code></pre>
<p>Again, the maintainers <em>do not anticipate</em> this being a breaking change to users of the core <code>cobra</code> library, so minimal work should be required for users to integrate with this new release. Moreover, this means the dependency tree for your application using Cobra should no longer require dependencies that were inherited from Viper. Huzzah! 🥳 </p>
<p>If you'd like to read more</p>
<ul>
<li>issue: <a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1597 ">spf13/cobra#1597</a></li>
<li>PR: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1604 ">spf13/cobra#1604</a></li>
</ul>
<h2>Documentation 📝 </h2>
<ul>
<li>Update Go Doc link and badge in README: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1593 ">spf13/cobra#1593</a></li>
<li>Fix to install command, now targets <code>@latest</code>: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1576 ">spf13/cobra#1576</a></li>
<li>Added MAINTAINERS file: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1545 ">spf13/cobra#1545</a></li>
</ul>
<h2>Other 💭 </h2>
<ul>
<li>Bumped license year to 2022 in golden files: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1575 ">spf13/cobra#1575</a></li>
<li>Added Pixie to projects: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1581 ">spf13/cobra#1581</a></li>
<li>Updated labeler for new labeling scheme: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1613 ">spf13/cobra#1613</a> & syntax fix: <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1624 ">spf13/cobra#1624</a></li>
</ul>
<p>Shoutout to our awesome contributors helping to make this cobra release possible!!
<a href="https://github.com/spf13 "><code>@spf13</code></a> <a href="https://github.com/marckhouzam "><code>@marckhouzam</code></a> <a href="https://github.com/johnSchnake "><code>@johnSchnake</code></a> <a href="https://github.com/jpmcb "><code>@jpmcb</code></a> <a href="https://github.com/liggitt "><code>@liggitt</code></a> <a href="https://github.com/umarcor "><code>@umarcor</code></a> <a href="https://github.com/hiljusti "><code>@hiljusti</code></a> <a href="https://github.com/marians "><code>@marians</code></a> <a href="https://github.com/shyim "><code>@shyim</code></a> <a href="https://github.com/htroisi "><code>@htroisi</code></a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/spf13/cobra/blob/master/CHANGELOG.md ">github.com/spf13/cobra's changelog</a>.</em></p>
<blockquote>
<h1>Cobra Changelog</h1>
<h2>v1.1.3</h2>
<ul>
<li><strong>Fix:</strong> release-branch.cobra1.1 only: Revert "Deprecate Go < 1.14" to maintain backward compatibility</li>
</ul>
<h2>v1.1.2</h2>
<h3>Notable Changes</h3>
<ul>
<li>Bump license year to 2021 in golden files (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1309 ">#1309</a>) <a href="https://github.com/Bowbaq "><code>@Bowbaq</code></a></li>
<li>Enhance PowerShell completion with custom comp (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1208 ">#1208</a>) <a href="https://github.com/Luap99 "><code>@Luap99</code></a></li>
<li>Update gopkg.in/yaml.v2 to v2.4.0: The previous breaking change in yaml.v2 v2.3.0 has been reverted, see <a href="https://github-redirect.dependabot.com/go-yaml/yaml/issues/670 ">go-yaml/yaml#670</a></li>
<li>Documentation readability improvements (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1228 ">#1228</a> etc.) <a href="https://github.com/zaataylor "><code>@zaataylor</code></a> etc.</li>
<li>Use golangci-lint: Repair warnings and errors resulting from linting (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1044 ">#1044</a>) <a href="https://github.com/umarcor "><code>@umarcor</code></a></li>
</ul>
<h2>v1.1.1</h2>
<ul>
<li><strong>Fix:</strong> yaml.v2 2.3.0 contained a unintended breaking change. This release reverts to yaml.v2 v2.2.8 which has recent critical CVE fixes, but does not have the breaking changes. See <a href="https://github-redirect.dependabot.com/spf13/cobra/pull/1259 ">spf13/cobra#1259</a> for context.</li>
<li><strong>Fix:</strong> correct internal formatting for go-md2man v2 (which caused man page generation to be broken). See <a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1049 ">spf13/cobra#1049</a> for context.</li>
</ul>
<h2>v1.1.0</h2>
<h3>Notable Changes</h3>
<ul>
<li>Extend Go completions and revamp zsh comp (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1070 ">#1070</a>)</li>
<li>Fix man page doc generation - no auto generated tag when <code>cmd.DisableAutoGenTag = true</code> (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1104 ">#1104</a>) <a href="https://github.com/jpmcb "><code>@jpmcb</code></a></li>
<li>Add completion for help command (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1136 ">#1136</a>)</li>
<li>Complete subcommands when TraverseChildren is set (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1171 ">#1171</a>)</li>
<li>Fix stderr printing functions (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/894 ">#894</a>)</li>
<li>fix: fish output redirection (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1247 ">#1247</a>)</li>
</ul>
<h2>v1.0.0</h2>
<p>Announcing v1.0.0 of Cobra. 🎉 </p>
<h3>Notable Changes</h3>
<ul>
<li>Fish completion (including support for Go custom completion) <a href="https://github.com/marckhouzam "><code>@marckhouzam</code></a></li>
<li>API (urgent): Rename BashCompDirectives to ShellCompDirectives <a href="https://github.com/marckhouzam "><code>@marckhouzam</code></a></li>
<li>Remove/replace SetOutput on Command - deprecated <a href="https://github.com/jpmcb "><code>@jpmcb</code></a></li>
<li>add support for autolabel stale PR <a href="https://github.com/xchapter7x "><code>@xchapter7x</code></a></li>
<li>Add Labeler Actions <a href="https://github.com/xchapter7x "><code>@xchapter7x</code></a></li>
<li>Custom completions coded in Go (instead of Bash) <a href="https://github.com/marckhouzam "><code>@marckhouzam</code></a></li>
<li>Partial Revert of <a href="https://github-redirect.dependabot.com/spf13/cobra/issues/922 ">#922</a> <a href="https://github.com/jharshman "><code>@jharshman</code></a></li>
<li>Add Makefile to project <a href="https://github.com/jharshman "><code>@jharshman</code></a></li>
<li>Correct documentation for InOrStdin <a href="https://github.com/desponda "><code>@desponda</code></a></li>
<li>Apply formatting to templates <a href="https://github.com/jharshman "><code>@jharshman</code></a></li>
<li>Revert change so help is printed on stdout again <a href="https://github.com/marckhouzam "><code>@marckhouzam</code></a></li>
<li>Update md2man to v2.0.0 <a href="https://github.com/pdf "><code>@pdf</code></a></li>
<li>update viper to v1.4.0 <a href="https://github.com/umarcor "><code>@umarcor</code></a></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5b2b9e9f61
"><code>5b2b9e9</code></a> Removes viper dependency by removing cobra/ CLI tool (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1604 ">#1604</a>)</li>
<li><a href="9369465955
"><code>9369465</code></a> labeler: fix syntax</li>
<li><a href="e1b831e5c2
"><code>e1b831e</code></a> Updates labeler for new labels (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1613 ">#1613</a>)</li>
<li><a href="8267283cfe
"><code>8267283</code></a> Add MAINTAINERS file (alphabetical order) (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1545 ">#1545</a>)</li>
<li><a href="6d2dc43606
"><code>6d2dc43</code></a> Add Pixie to projects. (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1581 ">#1581</a>)</li>
<li><a href="a599632379
"><code>a599632</code></a> Fix install command (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1576 ">#1576</a>)</li>
<li><a href="7cabfeb8f8
"><code>7cabfeb</code></a> Update Go Doc link and badge (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1593 ">#1593</a>)</li>
<li><a href="e04ec72550
"><code>e04ec72</code></a> Bump license year to 2022 in golden files (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1575 ">#1575</a>)</li>
<li><a href="cb9d7b1cec
"><code>cb9d7b1</code></a> Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (<a href="https://github-redirect.dependabot.com/spf13/cobra/issues/1567 ">#1567</a>)</li>
<li>See full diff in <a href="https://github.com/spf13/cobra/compare/v1.3.0...v1.4.0 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/cobra&package-manager=go_modules&previous-version=1.3.0&new-version=1.4.0 )](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)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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 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)
</details>
3 years ago
JayT106
d9c9675e2a
p2p+flowrate: rate control refactor ( #7828 )
Adding `CurrentTransferRate ` in the flowrate package because only the status of the transfer rate has been used.
3 years ago
dependabot[bot]
a54bae25b7
build(deps): Bump google.golang.org/grpc from 1.44.0 to 1.45.0 ( #8104 )
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.44.0 to 1.45.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/grpc/grpc-go/releases ">google.golang.org/grpc's releases</a>.</em></p>
<blockquote>
<h2>Release 1.45.0</h2>
<h1>Bug Fixes</h1>
<ul>
<li>xds/clusterresolver: pass cluster name to DNS child policy to be used in creds handshake (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5119 ">#5119</a>)</li>
<li>reflection: support dynamic messages (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5180 ">#5180</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/codebutler "><code>@codebutler</code></a></li>
</ul>
</li>
</ul>
<h1>Performance Improvements</h1>
<ul>
<li>wrr: improve randomWRR performance (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5067 ">#5067</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/huangchong94 "><code>@huangchong94</code></a></li>
</ul>
</li>
</ul>
<h1>Behavior Changes</h1>
<ul>
<li>server: convert context errors returned by service handlers to status with the correct status code (<code>Canceled</code> or <code>DeadlineExceeded</code>), instead of <code>Unknown</code> (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5156 ">#5156</a>)</li>
</ul>
<h1>New Features</h1>
<ul>
<li>reflection: add <code>NewServer(ServerOptions)</code> for creating a reflection server with advanced customizations (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5197 ">#5197</a>)</li>
<li>xds: support federation (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5128 ">#5128</a>)</li>
<li>xds/resource: accept Self as LDS's RDS config source and CDS's EDS config source (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5152 ">#5152</a>)</li>
<li>xds/bootstrap: add plugin system for credentials specified in bootstrap file (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5136 ">#5136</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a82cc96f07
"><code>a82cc96</code></a> Change version to 1.45.0 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5202 ">#5202</a>)</li>
<li><a href="011544f729
"><code>011544f</code></a> authz: add additional logs to sdk authz (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5094 ">#5094</a>)</li>
<li><a href="18564ff61d
"><code>18564ff</code></a> reflection: improve server implementation (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5197 ">#5197</a>)</li>
<li><a href="ec717cad73
"><code>ec717ca</code></a> xds: minor cleanup in xdsclient bootstrap code (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5195 ">#5195</a>)</li>
<li><a href="ebc30b8fc3
"><code>ebc30b8</code></a> reflection: use protobuf/reflect instead of go reflection, fix dynamic messag...</li>
<li><a href="46009ac902
"><code>46009ac</code></a> transport: Add an Unwrap method to ConnectionError (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5148 ">#5148</a>)</li>
<li><a href="75fd0240ac
"><code>75fd024</code></a> remove sdk term from grpc authz (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5191 ">#5191</a>)</li>
<li><a href="a354b1eec3
"><code>a354b1e</code></a> channelz: rename NewChannelzStorage to NewChannelzStorageForTesting (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5190 ">#5190</a>)</li>
<li><a href="0e055491d5
"><code>0e05549</code></a> Format directory/file references (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5184 ">#5184</a>)</li>
<li><a href="c44f627fd1
"><code>c44f627</code></a> cleanup: replace grpc.WithInsecure with insecure.NewCredentials (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5177 ">#5177</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/grpc/grpc-go/compare/v1.44.0...v1.45.0 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.44.0&new-version=1.45.0 )](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)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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 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)
</details>
3 years ago
William Banfield
ddbc93d993
service: add NopService and use for PexReactor ( #8100 )
3 years ago