William Banfield
ab9963acb3
apply the renames to LastCommitInfo
2022-03-04 16:21:27 -05:00
William Banfield
5c04e1973b
fixup abci-cli for use with finalize_block
2022-03-03 18:10:07 -05:00
William Banfield
da1d210c86
rename addTxCmd -> finalizeBlockCmd
2022-03-03 17:56:59 -05:00
William Banfield
ef41b126d9
fix message test
2022-03-01 18:39:08 -05:00
William Banfield
95b6c7ab77
merge fixups
2022-03-01 14:52:42 -05:00
William Banfield
0cd4c3f2c8
abci: rename abci-cli command 'add_tx' from 'deliver_tx'
2022-03-01 14:46:13 -05:00
William Banfield
077b1d5617
remove no longer relevant begin block test
2022-03-01 14:46:13 -05:00
William Banfield
b44b7e468c
fix abci protobuf to contain vote
2022-03-01 14:46:13 -05:00
William Banfield
afbaa86a63
cleanup remaining struct problems
2022-03-01 14:46:13 -05:00
William Banfield
9474faf879
fix abci protobuf to contain ExecTxResult
2022-03-01 14:46:13 -05:00
William Banfield
a341046b28
update sites of DeliverTx
2022-03-01 14:46:11 -05:00
William Banfield
e3ff082f21
rename Txs -> TxResults
2022-03-01 14:42:41 -05:00
William Banfield
984f52ff9d
build latest abci protos
2022-03-01 14:34:50 -05:00
William Banfield and GitHub
c80734e5af
state: synchronize the ProcessProposal implementation with the latest version of the spec ( #7961 )
...
This change implements the spec for `ProcessProposal`. It first calls the Tendermint block validation logic to check that all of the proposed block fields are well formed and do not violate any of the rules for Tendermint to consider the block valid and then passes the validated block the `ProcessProposal`.
This change also adds additional fixtures to test the change. It adds the `baseMock` types that holds a mock as well as a reference to `BaseApplication`. If the function was not setup by the test on the contained mock Application, the type delegates to the `BaseApplication` and returns what `BaseApplication` returns.
The change also switches the `makeState` helper to take an arg struct so that an ABCI application can be plumbed through when needed.
closes : #7656
2022-02-25 18:56:34 +00:00
M. J. Fromberger and GitHub
8c5e36159e
abci: use no-op loggers in the examples ( #7996 )
...
This averts a rare but annoying log-after-test race condition.
2022-02-25 14:41:49 +00:00
858d57a984
abci/kvstore: test cleanup improvements ( #7991 )
...
Co-authored-by: M. J. Fromberger <fromberger@interchain.io >
2022-02-25 03:12:27 +00:00
Sam Kleinman and GitHub
3e2d5db289
abci: remove lock protecting calls to the application interface ( #7984 )
...
Closes #7073
As part of the 0.36 cycle we've discussed and decided to remove the mutex in tendermint that protects the ABCI application. First, applications should be able to be responsible for their own concurrency control, and can make more fine-grained decisions about concurrent use than tendermint ever could. Second, I've observed in recent weeks as we've been making this change that the mutex wasn't applied particularly consistently in many cases (e.g. multiple "local" connections to the application had multiple locks, etc.) so this will give more consistent experiences across ABCI execution environments, and simplifies the tendermint ABCI handling code.
2022-02-24 19:53:04 +00:00
Sam Kleinman and GitHub
61a81279bd
abci: make tendermint example+test clients manage a mutex ( #7978 )
...
This is the first step in removing the mutex from ABCI applications:
making our test applications hold mutexes, which this does, hopefully
with zero impact. If this lands well, then we can explore deleting the
other mutexes (in the ABCI server and the clients.) While this change
is not user impacting at all, removing the other mutexes *will* be.
In persuit of this, I've changed the KV app somewhat, to put almost
all of the logic in the base application and make the persistent
application mostly be a wrapper on top of that with a different
storage layer.
2022-02-23 22:39:47 +00:00
abdf717761
spec: Minor updates to spec merge PR ( #7835 )
...
Signed-off-by: Thane Thomson <connect@thanethomson.com >
Co-authored-by: Callum Waters <cmwaters19@gmail.com >
2022-02-20 11:36:20 -08:00
Sam Kleinman and GitHub
abfcd08903
abci/client: remove lingering async client code ( #7876 )
...
While I'd hoped to be able to make the socket client less weird, I
think that this is a nice middle ground in terms of improving
readability and removing the vestigal components without breaking
anything or radically changing the underlying assumptions.
In the future we'd want to have requests be identified by a request
ID, and then we could drop the request tracking logic in the client
entirely, and this is protocol breaking. The alternatives aren't
substantively different than the current implementation.
2022-02-18 23:29:57 +00:00
William Banfield and GitHub
7f8f1cde8c
abci: undo socket buffer limit ( #7877 )
...
This change changes the ABCI socket client to allow goroutines to block writing to the internal queue. This has the effect ensuring that callers of the ABCI methods do not error on a full internal queue at the expense of allowing the number of goroutines waiting on this internal queue to grow in an unbounded fashion. This tradeoff seems preferable since it allows callers of the ABCI methods to be certain that a request that was made will reach the application if it is available.
Closes : #7827
This change was initially implemented here: e13b4386ff and never landed on v0.34, only v0.35+
2022-02-18 22:09:53 +00:00
Sam Kleinman and GitHub
cc18f87000
mempool: use checktx sync calls ( #7868 )
2022-02-18 14:17:45 -05:00
Sam Kleinman and GitHub
bb9fa171d6
abci/client: make flush operation sync ( #7857 )
...
This follows along in the spirit of #7845 but is orthogonal to
removing `CheckTxAsync` (which will come after the previous commit
lands,) so I thought I'd get it out there earlier.
2022-02-18 17:42:23 +00:00
Sam Kleinman and GitHub
c2cce2a696
abci/client: remove client-level callback ( #7845 )
...
* abci/client: remove client-level callback
* ditch multi conn con
* fix lint
* fix teset
2022-02-18 14:56:35 +00:00
Sam Kleinman and GitHub
f6569b5dcd
abci/client: remove waitgroup for requests ( #7842 )
...
* abci/client: remove awkward waitgroup
* elide done
2022-02-17 18:56:11 +00:00
Sam Kleinman and GitHub
28d34d635c
service: change stop interface ( #7816 )
2022-02-17 11:23:32 -05:00
Sam Kleinman and GitHub
c928818db9
abci/client: remove vestigially captured context ( #7839 )
2022-02-17 10:40:35 -05:00
60f09840dd
abci: PrepareProposal-VoteExtension integration [2nd try] ( #7821 )
...
* PrepareProposal-VoteExtension integration (#6915 )
* make proto-gen
* Fix protobuf crash in e2e nightly tests
* Update types/vote.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io >
* Addressed @creachadair's comments
Co-authored-by: mconcat <monoidconcat@gmail.com >
Co-authored-by: M. J. Fromberger <fromberger@interchain.io >
2022-02-15 18:16:11 +01:00
d3548eb706
Completed the existing FinalizeBlock PR and rebased to master ( #7798 )
...
* Rebased and git-squashed the commits in PR #6546
migrate abci to finalizeBlock
work on abci, proxy and mempool
abciresponse, blok events, indexer, some tests
fix some tests
fix errors
fix errors in abci
fix tests amd errors
* Fixes after rebasing PR#6546
* Restored height to RequestFinalizeBlock & other
* Fixed more UTs
* Fixed kvstore
* More UT fixes
* last TC fixed
* make format
* Update internal/consensus/mempool_test.go
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com >
* Addressed @williambanfield's comments
* Fixed UTs
* Addressed last comments from @williambanfield
* make format
Co-authored-by: marbar3778 <marbar3778@yahoo.com >
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com >
2022-02-14 23:41:28 +01:00
M. J. Fromberger and GitHub
7e09c2ef43
Clean up temp files more thoroughly after testing. ( #7815 )
...
Our test cases spew a lot of files and directories around $TMPDIR. Make more
thorough use of the testing package's TempDir methods to ensure these are
cleaned up.
In a few cases, this required plumbing test contexts through existing helper
code. In a couple places an explicit path was required, to work around cases
where we do global setup during a TestMain function. Those cases probably
deserve more thorough cleansing (preferably with fire), but for now I have just
worked around it to keep focused on the cleanup.
2022-02-14 06:32:07 -08:00
27297a447c
Rebased to master the existing ProcessProposal PR ( #7752 )
...
* Rebased and git-squashed the commits in PR #7091
- add processproposal proto/boilerplate/logic
- mockery
- gofmt
- fix test
- gofmt
- move UNKNOWN response behaviour to reject
* Fixed build of some UTs
* Addressed William's comment on context
* Adapted TestProcessProposal
* BaseApp needs to ACCEPT vote extensions by default
* Added missing ProcessProposal to socket_server.go
* Re-renamed TwoThirdPrevote... to Valid...
* Addressed William's comment on ProcessProposal error
* Addressed Callum's comments
* fmt
Co-authored-by: mconcat <monoidconcat@gmail.com >
2022-02-08 17:32:17 +01:00
M. J. Fromberger and GitHub
c67ace3433
Revert "PrepareProposal-VoteExtension integration ( #6915 )" ( #7769 )
...
This reverts commit 39ffa80ae7 .
Nightly end-to-end tests are currently failing; revert temporarily so we can
debug.
2022-02-03 09:42:08 -08:00
mconcat and Sergio Mena
39ffa80ae7
PrepareProposal-VoteExtension integration ( #6915 )
2022-02-02 11:51:13 +01:00
d2afb91e99
ABCI Vote Extension 2 ( #6885 )
...
* add proto, add boilerplates
* add canonical
* fix tests
* add vote signing test
* Update internal/consensus/msgs_test.go
* modify state execution in progress
* add extension signing
* add extension signing
* VoteExtension -> ExtendVote
* modify state execution in progress
* add extension signing
* verify in progress
* modify CommitSig
* fix test
* apply review
* update data structures
* Apply suggestions from code review
* Add comments
* fix test
* VoteExtensionSigned => VoteExtensionToSigned
* Apply suggestions from code review
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
* *Signed -> *ToSign
* add Vote to RequestExtendVote
* add example VoteExtension
* apply reviews
* fix vote
* Apply suggestions from code review
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com >
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
* fix typo, modify proto
* add abcipp_kvstore.go
* add extension test
* fix test
* fix test
* fix test
* fit lint
* uncomment test
* refactor test in progress
* gofmt
* apply review
* fix lint
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com >
2022-02-02 11:51:13 +01:00
29f7573762
abci: Vote Extension 1 ( #6646 )
...
* add proto, add boilerplates
* add canonical
* fix tests
* add vote signing test
* Update internal/consensus/msgs_test.go
* modify state execution in progress
* add extension signing
* VoteExtension -> ExtendVote
* apply review
* update data structures
* Add comments
* Apply suggestions from code review
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
* *Signed -> *ToSign
* add Vote to RequestExtendVote
* apply reviews
* Apply suggestions from code review
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com >
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
* fix typo, modify proto
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com >
2022-02-02 11:51:13 +01:00
Marko and Sergio Mena
ff498ff333
abci: PrepareProposal ( #6544 )
2022-02-02 11:51:13 +01:00
Sam Kleinman and GitHub
a4e2f05d7a
cmd: avoid package state in cli constructors ( #7719 )
2022-01-31 09:52:30 -05:00
JayT106 and GitHub
2c9dec53a8
remove duplicate ABCIVersion ( #7703 )
2022-01-26 09:12:00 -08:00
Sam Kleinman and GitHub
9dd67ad99d
tests: update cleanup opertunities ( #7647 )
2022-01-20 15:48:26 -05:00
M. J. Fromberger and GitHub
c8e8a62084
abci/client: simplify client interface ( #7607 )
...
This change has two main effects:
1. Remove most of the Async methods from the abci.Client interface.
Remaining are FlushAsync, CommitTxAsync, and DeliverTxAsync.
2. Rename the synchronous methods to remove the "Sync" suffix.
The rest of the change is updating the implementations, subsets, and mocks of
the interface, along with the call sites that point to them.
* Fix stringly-typed mock stubs.
* Rename helper method.
2022-01-19 10:58:56 -08:00
M. J. Fromberger and GitHub
a806739375
abci/client: use a no-op logger in the test ( #7633 )
...
This averts a log-after-close issue. We should probably also chase the shutdown
issues, but since ABCI clients should generally only shut down once per process
I don't think this is a real priority, and the trace is hairy.
2022-01-19 08:58:35 -08:00
Sam Kleinman and GitHub
2a348cc1e9
logging: remove reamining instances of SetLogger interface ( #7572 )
2022-01-12 16:56:49 -05:00
Sam Kleinman and GitHub
692701a551
abci: socket server shutdown response handler ( #7547 )
2022-01-10 16:26:40 -05:00
Sam Kleinman and GitHub
0f3f2aa4bc
log: remove support for traces ( #7542 )
2022-01-10 13:56:42 -05:00
Sam Kleinman and GitHub
332163ede6
testing: remove background contexts ( #7509 )
2022-01-05 12:42:57 -05:00
Sam Kleinman and GitHub
f2cc496f09
testing: pass testing.T to assert and require always, assertion cleanup ( #7508 )
2022-01-05 09:25:08 -05:00
Sam Kleinman and GitHub
3c8955e4b8
errors: formating cleanup ( #7507 )
2022-01-04 16:11:28 -05:00
Sam Kleinman and GitHub
5c0abb5367
testing: use scoped logger for all public packages ( #7504 )
2022-01-04 12:56:17 -05:00
dependabot[bot] and GitHub
7705c9d086
build(deps): Bump google.golang.org/grpc from 1.42.0 to 1.43.0 ( #7455 )
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.42.0 to 1.43.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.43.0</h2>
<h1>API Changes</h1>
<ul>
<li>grpc: stabilize <code>WithConnectParams</code> <code>DialOption</code> (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4915 ">#4915</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/hypnoglow "><code>@hypnoglow</code></a></li>
</ul>
</li>
</ul>
<h1>Behavior Changes</h1>
<ul>
<li>status: support wrapped errors in <code>FromContextError</code> (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4977 ">#4977</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/bestbeforetoday "><code>@bestbeforetoday</code></a></li>
</ul>
</li>
<li>config: remove the environment variable to disable retry support (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4922 ">#4922</a>)</li>
</ul>
<h1>New Features</h1>
<ul>
<li>balancer: new field <code>Authority</code> in <code>BuildOptions</code> for server name to use in the authentication handshake with a remote load balancer (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4969 ">#4969</a>)</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>xds/resolver: fix possible <code>ClientConn</code> leak upon resolver initialization failure (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4900 ">#4900</a>)</li>
<li>client: fix <code>nil</code> panic in rare race conditions with the pick first LB policy (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4971 ">#4971</a>)</li>
<li>xds: improve RPC error messages when xDS connection errors occur (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5032 ">#5032</a>, <a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5054 ">#5054</a>)</li>
<li>transport: do not create stream object in the face of illegal stream IDs (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4873 ">#4873</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/uds5501 "><code>@uds5501</code></a></li>
</ul>
</li>
</ul>
<h1>Documentation</h1>
<ul>
<li>client: clarify errors to indicate whether compressed or uncompressed messages exceeded size limits (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4918 ">#4918</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/uds5501 "><code>@uds5501</code></a></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/grpc/grpc-go/commit/14c11384b76b67f7b1b32a5d18f865762634c0ae "><code>14c1138</code></a> Change version to 1.43.0 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5039 ">#5039</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/ae29ac3e1e62a7b47fb672dec21de2dd83e4f027 "><code>ae29ac3</code></a> xds/client: send NewStream errors to the watchers (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5032 ">#5032</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/296afc2e579c14228edadb3debcb040204a0870f "><code>296afc2</code></a> transport: better error message when per-RPC creds fail (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5033 ">#5033</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/e15d978c827661f8e7cfe807cb9fd8fd8f15a262 "><code>e15d978</code></a> xds/client: send connection errors to all watchers (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5054 ">#5054</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/46e883a9ab006a3000afe0a510aea62b75495b8f "><code>46e883a</code></a> Backport "xds/c2p: replace C2P resolver env var with experimental scheme suff...</li>
<li><a href="https://github.com/grpc/grpc-go/commit/3786ae1778f5bfcc49da81cbd925b7175ec81839 "><code>3786ae1</code></a> xds/resolver: Add support for cluster specifier plugins (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4987 ">#4987</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/512e89474bfbd567806e026e0afdec468b1ee1ea "><code>512e894</code></a> rls: support extra_keys and constant_keys (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/4995 ">#4995</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/f3bbd12084380987ae0c9fcccdd7c4d405294a68 "><code>f3bbd12</code></a> xds/bootstrap_config: add a string function to server config (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5031 ">#5031</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/46935b96506deef74e73192e70cc44e3795b1452 "><code>46935b9</code></a> fix possible nil before casting (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5017 ">#5017</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/c2bccd0b1594416da57a74d15f09f8eb0a3d727b "><code>c2bccd0</code></a> xds/kokoro: install go 1.17, and retry go build (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5015 ">#5015</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/grpc/grpc-go/compare/v1.42.0...v1.43.0 ">compare view</a></li>
</ul>
</details>
<br />
[](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>
2021-12-15 16:26:20 +00:00
Sam Kleinman and GitHub
2ff962a63a
log: dissallow nil loggers ( #7445 )
2021-12-14 12:45:13 -05:00