Skip to content

spec: abci++ cleanup for v0.37#9288

Merged
jmalicevic merged 31 commits intomainfrom
jasmina/abci++-spec-cleanup
Sep 2, 2022
Merged

spec: abci++ cleanup for v0.37#9288
jmalicevic merged 31 commits intomainfrom
jasmina/abci++-spec-cleanup

Conversation

@jmalicevic
Copy link
Contributor

Addresses #9201.

ABCI++ will be published in v0.37 without VoteExtensions and FinalizeBlock.
Additional changes that need to be addressed:

The changes in this PR address the above mentioned concerns and aim to align the spec with the ABCI++ version that will be published.

@jmalicevic jmalicevic marked this pull request as ready for review August 25, 2022 09:25
@jmalicevic jmalicevic requested a review from ebuchman as a code owner August 25, 2022 09:25
@jmalicevic jmalicevic requested review from a team August 25, 2022 09:25
@sergio-mena
Copy link
Contributor

Thanks for including v0.36 ABCI++ spec as the first commit. So convenient!

Copy link
Contributor

@sergio-mena sergio-mena left a comment

Choose a reason for hiding this comment

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

Awesome work Jasmina! I'm really happy with the result

@sergio-mena
Copy link
Contributor

Before merging (probably tomorrow), I'd like to read the whole thing, to make sure everything is in place (I didn't go through the whole document in my review today, only through the changes w.r.t. v0.36.x spec).

@jmalicevic
Copy link
Contributor Author

Sounds good, I will push changes based on your responses and let you know when its ready.

Copy link
Contributor

@sergio-mena sergio-mena left a comment

Choose a reason for hiding this comment

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

I'm done going through the whole spec, line by line. Some more comments. Nothing really major.

jmalicevic and others added 3 commits August 28, 2022 01:34
Co-authored-by: Sergio Mena <sergio@informal.systems>
Co-authored-by: Sergio Mena <sergio@informal.systems>
Copy link
Contributor

@sergio-mena sergio-mena left a comment

Choose a reason for hiding this comment

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

Thanks a lot for this!

@faustbrian
Copy link

faustbrian commented Aug 30, 2022

Reintroduce the global client mutex

@jmalicevic does that mean applications can drop their own mutexes and Tendermint will take care of ensuring only 1 request is processed per connection? I remember reading that it was supposed to be dropped for ABCI++ and applications being required to take care of that with their own mutexes.

@jmalicevic
Copy link
Contributor Author

jmalicevic commented Aug 30, 2022

Reintroduce the global client mutex

@jmalicevic does that mean applications can drop their own mutexes and Tendermint will take care of ensuring only 1 request is processed per connection? I remember reading that it was supposed to be dropped for ABCI++ and applications being required to take care of that with their own mutexes.

Hi Brian, exactly. We decided to revert this change to avoid introducing additional risk so in terms of mutex related behaviour you can expect the same as before the introduction of ABCI++.

Co-authored-by: Thane Thomson <connect@thanethomson.com>
@jmalicevic jmalicevic merged commit 6371f02 into main Sep 2, 2022
@jmalicevic jmalicevic deleted the jasmina/abci++-spec-cleanup branch September 2, 2022 07:58
@jmalicevic jmalicevic added the S:backport-to-v0.37.x Tell mergify to backport the PR to v0.37.x label Sep 5, 2022
mergify bot pushed a commit that referenced this pull request Sep 5, 2022
* v0.36 abci++ spec

* Basic concepts cleanup

* Resurrected beginBlock to EndBlock sequence

* Global Lock in Concurrency

* ResponseProcessProposal returns list of bytes

* Fixed broken links; added ExtendedCommitInfo and ExtendedVoteInfo

* Replace spec/abci with abci++ content

* Removed spec/abci

Co-authored-by: Sergio Mena <sergio@informal.systems>
Co-authored-by: Thane Thomson <connect@thanethomson.com>
(cherry picked from commit 6371f02)

# Conflicts:
#	spec/abci/README.md
#	spec/abci/abci.md
#	spec/abci/client-server.md
jmalicevic added a commit that referenced this pull request Sep 5, 2022
* spec: abci++ cleanup for v0.37 (#9288)

* v0.36 abci++ spec

* Basic concepts cleanup

* Resurrected beginBlock to EndBlock sequence

* Global Lock in Concurrency

* ResponseProcessProposal returns list of bytes

* Fixed broken links; added ExtendedCommitInfo and ExtendedVoteInfo

* Replace spec/abci with abci++ content

* Removed spec/abci

Co-authored-by: Sergio Mena <sergio@informal.systems>
Co-authored-by: Thane Thomson <connect@thanethomson.com>
(cherry picked from commit 6371f02)

# Conflicts:
#	spec/abci/README.md
#	spec/abci/abci.md
#	spec/abci/client-server.md

* fixed conflicts

Co-authored-by: Jasmina Malicevic <jasmina.dustinac@gmail.com>
Co-authored-by: Sergio Mena <sergio@informal.systems>
james-chf added a commit to heliaxdev/tendermint that referenced this pull request Nov 25, 2022
…x-rc1

* release/v0.37.0-rc1:
  QA Process report for v0.37.x (and baseline for v0.34.x) (tendermint#9499) (tendermint#9577)
  Fix TX payload for DO testnets (tendermint#9540) (tendermint#9542)
  blocksync: retry requests after timeout (backport tendermint#9518) (tendermint#9533)
  Extend the load report tool to include transactions' hashes (tendermint#9509) (tendermint#9513)
  build(deps): Bump styfle/cancel-workflow-action from 0.10.0 to 0.10.1 (tendermint#9502)
  build(deps): Bump actions/stale from 5 to 6 (tendermint#9494)
  loadtime: add block time to the data point (tendermint#9484) (tendermint#9489)
  config: Add missing storage section when generating config (tendermint#9483) (tendermint#9487)
  Sync Vote.Verify() in spec with implementation (tendermint#9466) (tendermint#9476)
  fix spec (tendermint#9467) (tendermint#9469)
  metrics: fix panic because of absent prometheus label (tendermint#9455) (tendermint#9474)
  Ensure Dockerfile stages use consistent Go version (backport tendermint#9462) (tendermint#9472)
  build(deps): Bump slackapi/slack-github-action from 1.21.0 to 1.22.0 (tendermint#9432)
  build(deps): Bump bufbuild/buf-setup-action from 1.7.0 to 1.8.0 (tendermint#9453)
  state: restore previous error message (tendermint#9435) (tendermint#9440)
  build(deps): Bump gonum.org/v1/gonum from 0.11.0 to 0.12.0 (tendermint#9411)
  docs: Update ADRs for v0.37 (tendermint#9399) (tendermint#9418)
  build(deps): Bump github.com/spf13/viper from 1.12.0 to 1.13.0 (tendermint#9410)
  build(deps): Bump github.com/lib/pq from 1.10.6 to 1.10.7 (tendermint#9409)
  feat: support HTTPS inside websocket (tendermint#9416) (tendermint#9422)
  Removed unused param (tendermint#9394)
  test: generate uuid on startup for load tool (tendermint#9383) (tendermint#9392)
  add redirect links (tendermint#9385) (tendermint#9389)
  refactor: migrate to cosmos/gogoproto (backport tendermint#9356) (tendermint#9381)
  cmd: print all versions of tendermint and its sub protocols  (tendermint#9329) (tendermint#9386)
  Add missing changes changelog files (backport tendermint#9376) (tendermint#9382)
  add separated runs by UUID (backport tendermint#9367) (tendermint#9379)
  spec: abci++ cleanup for v0.37 (backport tendermint#9288) (tendermint#9374)
  ci: Remove "(WARNING: BETA SOFTWARE)" tagline from all upcoming releases (tendermint#9371) (tendermint#9372)
  Update rpc client header (tendermint#9276) (tendermint#9349)
  ci: Pre-release workflows (backport tendermint#9366) (tendermint#9368)
  test: add the loadtime report tool (tendermint#9351) (tendermint#9364)
  Update Tendermint version to v0.37.0 (tendermint#9354)
  test: add the loadtime tool (tendermint#9342) (tendermint#9357)

# Conflicts:
#	version/version.go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S:backport-to-v0.37.x Tell mergify to backport the PR to v0.37.x

Projects

Status: Done/Merged

Development

Successfully merging this pull request may close these issues.

5 participants