Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport tendermint-v0.34.22 into main #669

Merged
merged 17 commits into from
Jul 21, 2023
Merged

Conversation

tnasu
Copy link
Member

@tnasu tnasu commented Jul 18, 2023

@codecov
Copy link

codecov bot commented Jul 19, 2023

Codecov Report

Merging #669 (450d1c1) into main (32bffb8) will increase coverage by 0.18%.
The diff coverage is 70.86%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #669      +/-   ##
==========================================
+ Coverage   66.15%   66.33%   +0.18%     
==========================================
  Files         277      283       +6     
  Lines       37001    37611     +610     
==========================================
+ Hits        24477    24950     +473     
- Misses      10763    10870     +107     
- Partials     1761     1791      +30     
Impacted Files Coverage Δ
abci/client/grpc_client.go 69.37% <ø> (ø)
cmd/ostracon/commands/run_node.go 0.00% <0.00%> (ø)
config/toml.go 74.19% <ø> (ø)
consensus/replay_file.go 0.00% <0.00%> (ø)
crypto/merkle/tree.go 91.48% <ø> (ø)
crypto/secp256k1/secp256k1.go 69.56% <ø> (ø)
evidence/pool.go 69.42% <ø> (ø)
evidence/verify.go 76.00% <ø> (ø)
libs/clist/clist.go 68.03% <ø> (ø)
libs/flowrate/flowrate.go 79.57% <ø> (ø)
... and 72 more

... and 6 files with indirect coverage changes

@CLAassistant
Copy link

CLAassistant commented Jul 19, 2023

CLA assistant check
All committers have signed the CLA.

@tnasu tnasu force-pushed the main-v0.34.22 branch 2 times, most recently from 814e097 to e5a2125 Compare July 19, 2023 04:42
@tnasu tnasu self-assigned this Jul 19, 2023
@tnasu tnasu added the C: enhancement Classification: New feature or its request, or improvement in maintainability of code label Jul 19, 2023
@tnasu tnasu marked this pull request as ready for review July 20, 2023 02:42
@tnasu tnasu requested review from torao and ulbqb as code owners July 20, 2023 02:42
rpc/core/doc.go Outdated Show resolved Hide resolved
@ulbqb
Copy link
Member

ulbqb commented Jul 20, 2023

I think you forget to write description about tendermint/tendermint@3ab0151.

tnasu and others added 17 commits July 20, 2023 15:36
* Ignore generated/copied RPC docs

Signed-off-by: Thane Thomson <[email protected]>

* Sync vuepress config with main

Signed-off-by: Thane Thomson <[email protected]>

* Sync docs package-lock.json with main

Signed-off-by: Thane Thomson <[email protected]>

* Sync docs redirects with main

Signed-off-by: Thane Thomson <[email protected]>

* Sync docs versions with main

Signed-off-by: Thane Thomson <[email protected]>

* Update OpenAPI version to v0.34

Signed-off-by: Thane Thomson <[email protected]>

* Sync DOCS_README with main

Signed-off-by: Thane Thomson <[email protected]>

* Update all v0.34.x docs references from master to main

Signed-off-by: Thane Thomson <[email protected]>

* Update v0.34 OpenAPI references from master to main

Signed-off-by: Thane Thomson <[email protected]>

* Update repo doc links from master to main

Signed-off-by: Thane Thomson <[email protected]>

* Update code comment references from master to main

Signed-off-by: Thane Thomson <[email protected]>

* Update repo root doc links from master to main

Signed-off-by: Thane Thomson <[email protected]>

* Update repo root doc links for docs.tendermint.com from master to main

Signed-off-by: Thane Thomson <[email protected]>

* Build v0.34.x as "latest"

Signed-off-by: Thane Thomson <[email protected]>

* Explicitly mark v0.34 docs as latest in version selector

Signed-off-by: Thane Thomson <[email protected]>

* Add nav link to main and clearly mark as unstable

Signed-off-by: Thane Thomson <[email protected]>

* Direct all docs.tendermint.com links to v0.34 on v0.34.x

Signed-off-by: Thane Thomson <[email protected]>

* Update all relevant links on v0.34.x branch to be v0.34-specific

Signed-off-by: Thane Thomson <[email protected]>

* Update changelog refs to docs.tendermint.com

Signed-off-by: Thane Thomson <[email protected]>

* Update remaining GH master link to main

Signed-off-by: Thane Thomson <[email protected]>

* Sync docs build and nav config with main

Signed-off-by: Thane Thomson <[email protected]>

* Migrate spec links to GitHub repo from docs site

Signed-off-by: Thane Thomson <[email protected]>

Signed-off-by: Thane Thomson <[email protected]>

Co-authored-by: Thane Thomson <[email protected]>
* test: add the loadtime tool (#9342)

This pull request adds the loadtime tool. This tool leverages the tm-load-test framework. Using the framework means that the only real logic that needs to be written is the logic for Tx generation. The framework does the rest.

The tool writes a set of metadata into the transaction, including the current transaction rate, number of connections, specified size of the transaction, and the current time.

* lint

Co-authored-by: William Banfield <[email protected]>
* test: add the loadtime report tool (#9351)

This pull request adds the report tool and modifies the loadtime libraries to better support its use.

(cherry picked from commit 8655080a0ff26c001025b4c1af009f39c90cbb9e)

* add nolint

Co-authored-by: William Banfield <[email protected]>
Co-authored-by: William Banfield <[email protected]>
* add separated runs by UUID (#9367)

This _should_ be the last piece needed for this tool.
This allows the tool to generate reports on multiple experimental runs that may have been performed against the same chain.

The `load` tool has been updated to generate a `UUID` on startup to uniquely identify each experimental run. The `report` tool separates all of the results it reads by `UUID` and performs separate calculations for each discovered experiment.

Sample output is as follows

```
Experiment ID: 6bd7d1e8-d82c-4dbe-a1b3-40ab99e4fa30

        Connections: 1
        Rate: 1000
        Size: 1024

        Total Valid Tx: 9000
        Total Negative Latencies: 0
        Minimum Latency: 86.632837ms
        Maximum Latency: 1.151089602s
        Average Latency: 813.759361ms
        Standard Deviation: 225.189977ms

Experiment ID: 453960af-6295-4282-aed6-367fc17c0de0

        Connections: 1
        Rate: 1000
        Size: 1024

        Total Valid Tx: 9000
        Total Negative Latencies: 0
        Minimum Latency: 79.312992ms
        Maximum Latency: 1.162446243s
        Average Latency: 422.755139ms
        Standard Deviation: 241.832475ms

Total Invalid Tx: 0
```

closes: #9352

- [ ] Tests written/updated, or no tests needed
- [ ] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [ ] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed

(cherry picked from commit 1067ba15719b89a74c89bcbec065062d2d0159d8)

* fix merge conflict

* fix lint

Co-authored-by: William Banfield <[email protected]>
Co-authored-by: William Banfield <[email protected]>
(cherry picked from commit ffce25327386bdc8d311a47609b7722146b0e91d)

Co-authored-by: Marko <[email protected]>
the `NewClient` method is called by the load test framework for each connection. This means that if multiple connections are instantiated, each connection will erroneously have its own UUID. This PR changes the UUID generation to happen at the _beginning_ of the script instead of on client creation so that each experimental run shares a UUID.

Caught while preparing the script for production readiness.

- [ ] Tests written/updated, or no tests needed
- [ ] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [ ] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed

(cherry picked from commit 59a711eabe90e91f91d61bc7b8fc0fab8b88d89c)

Co-authored-by: William Banfield <[email protected]>
…#9483) (#9488)

* config: Add missing storage section when generating config (#9483)

(cherry picked from commit b7f1e1f218ffea7a164608037bc8e0bc8f57b37c)

* Add pending changelog entry

Signed-off-by: Thane Thomson <[email protected]>

Signed-off-by: Thane Thomson <[email protected]>
Co-authored-by: Thane Thomson <[email protected]>
* loadtime: add block time to the data point (#9484)

This pull request adds the block time as the unix time since the epoch to the `report` tool's csv output.

```csv
...
a7a8b903-1136-4da1-97aa-d25da7b4094f,1614226790,1663707084905417366,4,200,1024
a7a8b903-1136-4da1-97aa-d25da7b4094f,1614196724,1663707084905417366,4,200,1024
a7a8b903-1136-4da1-97aa-d25da7b4094f,1613097336,1663707084905417366,4,200,1024
a7a8b903-1136-4da1-97aa-d25da7b4094f,1609365168,1663707084905417366,4,200,1024
a7a8b903-1136-4da1-97aa-d25da7b4094f,1617199169,1663707084905417366,4,200,1024
a7a8b903-1136-4da1-97aa-d25da7b4094f,1615197134,1663707084905417366,4,200,1024
a7a8b903-1136-4da1-97aa-d25da7b4094f,1610399447,1663707084905417366,4,200,1024
...
```

- [ ] Tests written/updated, or no tests needed
- [ ] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [ ] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed

(cherry picked from commit 5fe1a72416722f8045b863fa0c7c045de583b6a1)

* lint fix

Co-authored-by: William Banfield <[email protected]>
Co-authored-by: William Banfield <[email protected]>
… #9509) (#9514)

* Extend the load report tool to include transactions' hashes (#9509)

* Add transaction hash to raw data

* Add hash in formatted output

* Cosmetic

(cherry picked from commit cdd3479f20b15c7dab0c683e2d5dddb7e7b95721)

* Resolve conflict

* Appease linter

Co-authored-by: Sergio Mena <[email protected]>
…backport #9500) (#9516)

* security/p2p: prevent peers who errored being added to the peer_set (#9500)

* Mark failed removal of peer to address security bug

Co-authored-by: Callum Waters <[email protected]>
(cherry picked from commit c0bdb2423acef508372a3750d0db3e0dd9982178)

* Changelong entry and added missing functions for implementations of Peer

Co-authored-by: Jasmina Malicevic <[email protected]>
* blocksync: retry requests after timeout (#9518)

* blocksync: retry requests after timeout

* Minimize changes to re-send block request after timeout

* TO REVERT: reduce queue capacity

* Add reset

* Revert "TO REVERT: reduce queue capacity"

This reverts commit dd0fee56924c958bed2ab7733e1917eb88fb5957.

* 30 seconds

* don't reset the timer

* Update blocksync/pool.go

Co-authored-by: Callum Waters <[email protected]>

Co-authored-by: Sergio Mena <[email protected]>
Co-authored-by: Callum Waters <[email protected]>
(cherry picked from commit a371b1e3a8ea7603ada20e21bd6b4d5bf9f664f2)

* Add changelog entry

Co-authored-by: William Banfield <[email protected]>
Co-authored-by: Sergio Mena <[email protected]>
* Added print

* Fix unmarshall

* Fix unmarshalling

* Simplified steps to unmarshall

* minor

* Use 'encoding/hex'

* Forget about C, this is Go!

* gosec warning

* Set maximum payload size

* nosec annotation

(cherry picked from commit b42c439776811a6fcab8e22fb97fb44cee5701b3)

Co-authored-by: Sergio Mena <[email protected]>
…499) (#9578)

* QA Process report for v0.37.x (and baseline for v0.34.x) (#9499)

* 1st version. 200 nodes. Missing rotating node

* Small fixes

* Addressed @jmalicevic's comment

* Explain in method how to set the tmint version to test. Improve result section

* 1st version of how to run the 'rotating node' testnet

* Apply suggestions from @williambanfield

Co-authored-by: William Banfield <[email protected]>

* Addressed @williambanfield's comments

* Added reference to Unix load metric

* Added total TXs

* Fixed some 'png's that got swapped. Excluded '.*-node-exporter' processes from memory plots

* Report for rotating node

* Adressed remaining comments from @williambanfield

* Cosmetic

* Addressed some of @thanethomson's comments

* Re-executed the 200 node tests and updated the corresponding sections of the report

* Ignore Python virtualenv directories

Signed-off-by: Thane Thomson <[email protected]>

* Add latency vs throughput script

Signed-off-by: Thane Thomson <[email protected]>

* Add README for latency vs throughput script

Signed-off-by: Thane Thomson <[email protected]>

* Fix local links to folders

Signed-off-by: Thane Thomson <[email protected]>

* v034: only have one level-1 heading

Signed-off-by: Thane Thomson <[email protected]>

* Adjust headings

Signed-off-by: Thane Thomson <[email protected]>

* v0.37.x: add links to issues/PRs

Signed-off-by: Thane Thomson <[email protected]>

* v0.37.x: add note about bug being present in v0.34

Signed-off-by: Thane Thomson <[email protected]>

* method: adjust heading depths

Signed-off-by: Thane Thomson <[email protected]>

* Show data points on latency vs throughput plot

Signed-off-by: Thane Thomson <[email protected]>

* Add latency vs throughput plots

Signed-off-by: Thane Thomson <[email protected]>

* Correct mentioning of v0.34.21 and add heading

Signed-off-by: Thane Thomson <[email protected]>

* Refactor latency vs throughput script

Update the latency vs throughput script to rather generate plots from
the "raw" CSV output from the loadtime reporting tool as opposed to the
separated CSV files from the experimental method.

Also update the relevant documentation, and regenerate the images from
the raw CSV data (resulting in pretty much the same plots as the
previous ones).

Signed-off-by: Thane Thomson <[email protected]>

* Remove unused default duration const

Signed-off-by: Thane Thomson <[email protected]>

* Adjust experiment start time to be more accurate and re-plot latency vs throughput

Signed-off-by: Thane Thomson <[email protected]>

* Addressed @williambanfield's comments

* Apply suggestions from code review

Co-authored-by: William Banfield <[email protected]>

* Apply suggestions from code review

Co-authored-by: William Banfield <[email protected]>

* scripts: Update latency vs throughput readme for clarity

Signed-off-by: Thane Thomson <[email protected]>

Signed-off-by: Thane Thomson <[email protected]>
Co-authored-by: William Banfield <[email protected]>
Co-authored-by: Thane Thomson <[email protected]>
(cherry picked from commit b06e1cea5495dc4557d805dcc433a0f771c0fc1c)

* Remove v037 dir

* Removed reference to v0.37 testnets

Co-authored-by: Sergio Mena <[email protected]>
Copy link
Contributor

@torao torao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tnasu tnasu merged commit 949633b into Finschia:main Jul 21, 2023
@tnasu tnasu deleted the main-v0.34.22 branch July 28, 2023 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: enhancement Classification: New feature or its request, or improvement in maintainability of code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants