Skip to content

[WIP] Consensus liveness fix#2132

Closed
jaekwon wants to merge 1 commit intodevelopfrom
jae/liveness_fix
Closed

[WIP] Consensus liveness fix#2132
jaekwon wants to merge 1 commit intodevelopfrom
jae/liveness_fix

Conversation

@jaekwon
Copy link
Contributor

@jaekwon jaekwon commented Aug 2, 2018

Implementation of #1690 (comment)
Used to be in #1815, but pulled out.

  • Updated all relevant documentation in docs
  • Updated all code comments where relevant
  • Wrote tests
  • Updated CHANGELOG.md

@melekes melekes requested a review from milosevic August 27, 2018 17:24
if !cs.Votes.Prevotes(round).HasTwoThirdsAny() {
cmn.PanicSanity(cmn.Fmt("enterPrevoteWait(%v/%v), but Prevotes does not have any +2/3 votes", height, round))
}
*/
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This should just be deleted.

@xla xla changed the title WIP: Consensus liveness fix [WIP] Consensus liveness fix Aug 27, 2018
@xla xla added the C:consensus Component: Consensus label Aug 27, 2018
milosevic pushed a commit that referenced this pull request Sep 26, 2018
milosevic pushed a commit that referenced this pull request Sep 26, 2018
ebuchman pushed a commit that referenced this pull request Oct 4, 2018
* Disable transitioning to new round upon 2/3+ of Precommit nils

Pull in ensureVote test function from #2132

* Add several ensureX test methods to wrap channel read with timeout

* Revert panic in tests
@ebuchman
Copy link
Contributor

ebuchman commented Oct 5, 2018

@milosevic can we close this in favour of #2493 and #2540 ?

@ebuchman
Copy link
Contributor

ebuchman commented Oct 5, 2018

Ah yes, you said so here: #2493 (comment)

@ebuchman ebuchman closed this Oct 5, 2018
@xla xla deleted the jae/liveness_fix branch October 9, 2018 11:41
firelizzard18 pushed a commit to AccumulateNetwork/tendermint that referenced this pull request Feb 1, 2024
…t#2132)

This PR integrates pebbledb, a key-value store by Cockroachdb based on
Cockroach Labs findings about cgo:

* https://www.cockroachlabs.com/blog/the-cost-and-complexity-of-cgo/


Unlike any other kv store that cometbft currently supports:

* pebble is actively maintained unlike:
  * goleveldb
  * boltdb
  * badgerdb 
* pebble does not require the use of CGO like:
  * cleveldb
  * rocksdb

In benchmarks:

* pebble performs better than goleveldb, cleveldb and rocksdb
* pebble performs consistently

At Notional Ventures, Pte, we've used and submitted pebble for two years
for:

* archive nodes that would be crushed if they used goleveldb
* high performance RPC infrastructure

Here are the hitstorical pull requests to merge pebble:

* tendermint/tm-db#230
* tendermint/tm-db#231
* tendermint/tm-db#281
* tendermint/tm-db#282
* tendermint/tm-db#283
* tendermint/tm-db#284
* tendermint/tm-db#304
* tendermint/tm-db#321

Pebble snapshots for cosmos blockchains are available here:

* https://snapshot.notional.ventures/

---

#### PR checklist

- [ ] Tests written/updated
- [x] Changelog entry added in `.changelog` (we use
[unclog](https://github.com/informalsystems/unclog) to manage our
changelog)
- [x] Updated relevant documentation (`docs/` or `spec/`) and code
comments
- [x] Title follows the [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec

---------

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C:consensus Component: Consensus

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants