-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Only change rootmultistore hash when substore hashes change #4613
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4613 +/- ##
==========================================
+ Coverage 53.62% 53.63% +0.01%
==========================================
Files 260 260
Lines 16177 16177
==========================================
+ Hits 8675 8677 +2
+ Misses 6856 6854 -2
Partials 646 646 |
Please note that this issue was brought up as a problem by some groups during the Hackatom Berlin. Also, this not being resolved has prompted other quick fixes, which would have much more breaking impacts, such as cosmos/iavl#143 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK. I'm pretty sure this is state machine breaking, this I've added the label. Non-contentious update regardless. Thanks @ethanfrey 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nihil obstat from me
Yes, this will break all app hashes and require a chain restart for an upgrade to new version. I am fine if this merge waits until there are other state-machine breaking changes lined up, to all go in one release. |
@ethanfrey we have a significant amount of breaking changes already in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK, code utACK
We should note somewhere that applications which utilize no_empty_blocks
will not have regular block timing and should use e.g. BFT timestamps for any periodic EndBlock
/ BeginBlock
logic.
Suggestions on a location @cwgoes? |
In the default configuration file and in comments above |
Thanks for the work on this @ethanfrey - much appreciated! |
What does I will add comments about |
Acknowledged (read the code, looks correct) but untested.
Thanks. |
Is this something we want to get in for gaia 1.0? |
@jackzampolin yes. I'll be merging this once @ethanfrey updates some docs. |
4d08260
to
30f394c
Compare
I rebased on master and added some comments to
I could not find the default configuration besides (I also see that the name is now |
30f394c
to
310422c
Compare
I just found this PR: https://github.com/cosmos/cosmos-sdk/pull/2284/files I guess I should revert that as well. Does that belong in this PR or another one? |
Yes, let's create another PR for that too. I think we can safely merge this. |
@alexanderbez @ethanfrey
But my program still product block per second I have read more discuss about this function It seems the slashing and distribution prevent the "no_empty_block" function. |
Closes #1351
The fix was proposed one year ago, and was recently moved to "proposal accepted". This enables no-empty-block to be enabled with cosmos-sdk code without any other breaking changes.
Targeted PR against correct branch (see CONTRIBUTING.md)
Linked to github-issue with discussion and accepted design OR link to spec that describes this work.
Wrote tests
Updated relevant documentation (
docs/
)Added a relevant changelog entry:
clog add [section] [stanza] [message]
rereviewed
Files changed
in the github PR explorerNote: I don't know of any relevant documentation as this is a bugfix. Please point me to any points I need to update if any.
For Admin Use: