-
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
Low level db error can cause app-hash mismatch #12012
Comments
Hey guys I would not consider this a bug. Instead, I would include directions on setting the number of open files value. In most Linux distributions the command to set them is this: ulimit -n 500000 That will set it for the length of the session. It can also be set in systemd units and in the system file /etc/security/limits.conf |
Maybe not a bug, just an improvement, since the app-hash mismatch situation is much hard to recover from. I'm not sure if there are other low level errors which could trigger the same issue. |
Maybe we can add a check? This is actually frequently encountered. The scenario are describing here is very familiar to me. I run into it basically anytime that I have failed to shut the file system limit. Some interesting feedback on this can be found in my performance branch of tm-db, which is basically the combination of terra's performance branch, and some additional tweaks that I have made. Insight: maybe sdk should check if that limit is above 33,000. We use the 500,000 value on servers that run many nodes for relaying. |
do you think there are other low-level DB errors that should not be ignored in the consensus level? The error message we see:
|
I think the general reaction to a DB error should be halt the node. The particular case of a too many files opened is a node operator level error, but the general case of the many db errors that can occur is not. |
Should we change tm-db's apis to return error, and those errors should abort the node? |
Unfortunately, it's not possible for the SDK to effectively and/or safely halt the node. Calling panic should terminate the process and halt the node, of course. But because panic is used throughout the ecosystem as a normal way to signal errors, developers necessarily must use recover as a normal way to capture and handle errors, and effectively no deferred recover statement bubbles up caught panics. That means code can't make any assumptions about the effect of a panic, beyond that it exits the current call frame. This unpredictable behavior has real consequences! I've been running some full nodes across several Cosmos-based networks recently. Stopping and re-starting those processes is always a highly stressful experience. The SIGINT isn't caught and managed in any well-defined way, and essentially triggers panics, errors, or nothing at all, across all active call stacks. If one of those call stacks happens to be in the middle of an ABCI Commit, or midway through persisting some state to disk, or any one of a dozen more fragile operations like the one identified in this issue, then the state gets corrupted, almost always in a non-recoverable way, and I have to More generally, errors encountered when operations cross an abstraction layer — e.g. DB errors, among many others — are, like most other runtime errors, totally normal. A read transaction can timeout because the underlying resource is busy with other callers. A write transaction can fail because the optimistic concurrency assumptions made by the query planner don't hold. A remote read or write can fail because of arbitrary and random latency at one of hundreds of potential levels of translation. These situations aren't exceptional, and they almost never signal malice or Byzantine behavior. There's no reason for the SDK to halt the chain if a DB write times out, for example. Doing so makes the SDK fundamentally unreliable software. |
What do you mean by ecosystem here? The broader Go ecosystem, or the SDK? If the latter, that's not the case. Panics are only triggered when the desired affect is to halt the node, the exception being message execution (which indicates message failure), otherwise, e.g. panic in
How so? I've never had any issues restarting nodes. I typically restart nodes multiple times a day without any issues.
This is not true. SIGINT is captured in a single place. |
Panics are absolutely used as an alternative way to signal errors throughout Tendermint and the SDK. Consider the BasicKVStore interface: // BasicKVStore is a simple interface to get/set data
type BasicKVStore interface {
// Get returns nil if key doesn't exist. Panics on nil key.
Get(key []byte) []byte
// Has checks if a key exists. Panics on nil key.
Has(key []byte) bool
// Set sets the key. Panics on nil key or value.
Set(key, value []byte)
// Delete deletes the key. Panics on nil key.
Delete(key []byte)
} I was prepared write a fair bit more to explain the details of this example. About how all of these operations are in fact fallible, and how fallible operations in Go are idiomatically modeled by
First, while the SDK can issue a panic, it can't make any assertions about the effects of that panic on the node. That's because the SDK is always encapsulated by the application, and applications routinely recover from panics as a matter of practical necessity. Second, even if the SDK could reliably assert that a panic would actually bubble up to the main goroutine of execution, by definition that can't be assumed to result in graceful termination of the process. Just at a base level, because that panic is invisible to any goroutines spawned from outside of the panicing call stack; those goroutines will, practically, be hard-killed as a result. But in addition, because Go code in general can't make any assumptions about panic recovery beyond its API borders. Specifically, I mean that a Cosmos app is never obliged, and can't be assumed, to recover from panics thrown by the SDK. That's an invariant defined by the language. And since the application owns the lifecycle of many of the important stateful components in a node, the SDK unfortunately can't make any assertions about how panics will affect them.
I guess I'm not sure how to respond. Which networks do you run? Would a collection of my journald logs — chock full of consensus faults, app and chain hash failures, and all manner of errors from the DB and state layers — be convincing? |
Any Update on this? I am a community dev on a cosmos-sdk chain. |
We'll need think carefully for how to handle various DB-related errors when executing txs -- in the meantime, I would advise bumping the file limit on your system as others have pointed out @Orion-9R :) |
Keen to find a solution - its a burden on our ecosystem to have to kick fullnodes regularly. |
there could also be some genuine undeterministic logic, you can try to investigate the execution result of the block that produce the mismatched app hash. |
Yes, that too! My initial inclination is to type check the error in the panic recovery logic of tx execution -- if the error is of a specific DB fault, then we truly panic. |
We found a new case maybe related to this, there are some rare cases when a node get app-hash mismatch without any error logs, and check the commit info, we find one of the store committed an empty iavl tree. It could be triggered by a low level db error in the set operation, where the iavl root is reset with a |
* add error log when iavl set failed Ref: #12012 * Update CHANGELOG.md * play safe
Neither AssertValidKey nor AssertValidValue return an error. (They can panic, but panics aren't errors, and shouldn't be managed like errors via i.e. recover.) |
The line no changed because the link is not a permanent one, I was refer to the |
Can you link to what you're actually referring to? |
cosmos-sdk/store/iavl/store.go Line 203 in 61effe8
|
Right. This goes back to my previous comments, I guess. The only viable solution here is to change the KVStore interface so that its methods return errors. (Details!)The fundamental problem here is that the BasicKVStore interface defines methods that don't return errors. That means those methods are defined as infallible: the KVStore asserts that a Get will always successfully return a []byte, a Set will always successfully set the key to the val, etc. Of course this isn't true, as you're experiencing right now. But when an implementation has an error, the KVStore interface doesn't allow you to report that error correctly, i.e. return an error to your caller. You have to either ignore the error (always wrong) or express it as a panic. Panics are generally meant to crash the process immediately. (Some exceptions exist for packages that manage panics at API boundaries, but this pattern is non-idiomatic, broadly discouraged, and only works in narrow circumstances which are definitely not satisfied by the SDK.) Your only option is to panic, but because panics are so widely misused as ersatz errors, recovers are littered basically everywhere, which means panic has no reliable outcome, which means there's no real way to solve this problem 😞 |
yeah, agree with that, and practically, stopping the consensus state machine immediately or causing an app hash mismatch in next block both halt the node, but the former one is easier to recover, you just fix the issue and restart. |
But how do you reliably stop the state machine or cause an app hash mismatch? AFAIK there's no way. Panic doesn't do it. |
panic in the abci event handlers will cause tendermint to output |
This code is exported, so it can be called by any consumer, not just ABCI event handlers. And panics that traverse exported API boundaries like this one have undefined behavior, callers can intercept them before they reach upper layers. So basically you can't assume these things. If an implementation of KVStore.Set has an error, logging that error and continuing will put the store in an invalid state. Can't do that. Panicking is preferable, though even that doesn't get you reliable guarantees. |
I think it's part of abci protocol that if commit event handler(I guess any events in the consensus connection) don't return successfully, it won't proceed. |
KVStore methods are not necessarily called from ABCI event handlers. Also, abci.Application defines no expectations re: panics as far as I can see, I'd be happy to see some docs otherwise! In any case, if a function doesn't return an error, then it's always successful by definition; panics aren't errors. |
Panics triggered (and not recovered) in non-tx-execution flows, e.g. |
do you think we should panic on iavl set error? |
Yeah, if we're setting an invalid key/value pair, I think we should indeed panic. |
(Just want to observe that Set errors don't necessarily mean the key/val pair is invalid, they can also indicate invariant violations in the tree itself, problems during rebalancing, etc. But I suspect this is a meaningless distinction, as any code that's expected to panic on bad input should probably also panic on any other error, too.) |
* docs: add ApplicationQueryService release notes (cosmos#13587) * docs: add ApplicationQueryService release notes * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(cli): add module-account cli cmd and grpc get api (backport cosmos#13612) (cosmos#13616) * feat(cli): add module-account cli cmd and grpc get api (cosmos#13612) (cherry picked from commit ddf5cf0) # Conflicts: # CHANGELOG.md # api/cosmos/auth/v1beta1/query.pulsar.go # api/cosmos/auth/v1beta1/query_grpc.pb.go # x/auth/client/testutil/suite.go # x/auth/types/query.pb.go * fix conflicts * updates * updates Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/auth): allow multiple = signs in `GetTxsEvent` (backport cosmos#12474) (cosmos#13598) * fix(x/auth): allow multiple = signs in `GetTxsEvent` (cosmos#12474) (cherry picked from commit 18da0e9) # Conflicts: # CHANGELOG.md * fix changelog * changelog * fix: flakey test Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: app-hash mismatch if upgrade migration commit is interrupted (backport cosmos#13530) (cosmos#13627) * feat(cli): Add iavl-disable-fastnode cmd flag with proper description (cosmos#13656) (cosmos#13659) (cherry picked from commit c833190) Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * build(deps): Bump github.com/cosmos/iavl from 0.19.3 to 0.19.4 (cosmos#13680) * feat: emit cached context events (backport cosmos#13063) (cosmos#13702) * chore: prepare 0.46.4 changelog (cosmos#13716) * chore: prepare 0.46.4 changelog * wording * updates * updates * ci: notify for 0.46.x releases (cosmos#13719) * feat: notify for 0.46.x releases * updates changelog * docs: fix algolia on 0.46 (cosmos#13730) * ci: modifying docs in 0.46 should not redeploy docs (cosmos#13732) * ci: modifying docs in 0.46 should not redeploy docs * updates * fix: propagate msg events correctly in x/gov (backport cosmos#13728) (cosmos#13748) * refactor: add error log when iavl set failed (backport cosmos#13803) (cosmos#13804) * refactor: add error log when iavl set failed (cosmos#13803) * add error log when iavl set failed Ref: cosmos#12012 * Update CHANGELOG.md * play safe (cherry picked from commit 22f3261) # Conflicts: # CHANGELOG.md * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * chore: bump tendermint to `0.34.23` (cosmos#13814) * fix: propagate events in x/group through sdk.Results (backport cosmos#13808) (cosmos#13809) * docs: update algolia index (cosmos#13823) * fix: bank store migration (backport cosmos#13821) (cosmos#13829) * fix: bank store migration (cosmos#13821) (cherry picked from commit d314a12) # Conflicts: # x/bank/migrations/v3/store.go # x/bank/migrations/v3/store_test.go * updates Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(types): set custom GasConfig on Context for GasKVStore (backport cosmos#13826) (cosmos#13833) * feat(types): set custom GasConfig on Context for GasKVStore (cosmos#13826) (cherry picked from commit f001b46) # Conflicts: # CHANGELOG.md # types/context.go # types/context_test.go * fix conflicts * updates Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: prepare 0.46.5 release (cosmos#13816) * fix: Allow underscores in EventRegex (backport cosmos#13861) (cosmos#13864) * fix: Allow underscores in EventRegex (cosmos#13861) (cherry picked from commit 14c582f) # Conflicts: # CHANGELOG.md # tests/e2e/tx/service_test.go * updates * updates Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group): add group members weight checks (backport cosmos#13869) (cosmos#13880) * fix(group): add group members weight checks (cosmos#13869) (cherry picked from commit 3423442) # Conflicts: # CHANGELOG.md # api/cosmos/tx/v1beta1/service.pulsar.go # types/tx/service.pb.go # x/group/keeper/keeper.go * fix conflicts * updates * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group)!: Fix group min execution period (backport cosmos#13876) (cosmos#13885) * fix(group)!: Fix group min execution period (cosmos#13876) * fix: don't check MinExecutionPeriod in `Allow` * Check MinExecutionPeriod on doExecuteMsgs * Fix TestExec * Fix TestExec * test exec pruned * Fix submitproposal * Add changelog * typo * revert some changes * add minExecutionPeriod * Add docs and specs (cherry picked from commit 7661f62) # Conflicts: # CHANGELOG.md # x/group/README.md # x/group/keeper/keeper_test.go * fix docs * fix other conflicts * fix test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): Add helper for v0.46 denom migration (cosmos#13891) * feat(bank): Add helper for v0.46 denom migration * CL * Clearer name * Update x/bank/migrations/v046/store.go Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * rename Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * chore: impove 0.46.5 release notes (cosmos#13898) * chore: impove 0.46.5 release notes * update changelog * refactor: State Streaming Docs + Explicit Config Support (backport cosmos#13894) (cosmos#13909) * chore: remove typo (cosmos#13914) (cosmos#13917) (cherry picked from commit 34dcca7) Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: correctly propagate msg errors in gov (backport cosmos#13918) (cosmos#13928) * fix: correctly propagate msg errors in gov (cosmos#13918) * fix: correctly propagate msg errors in gov * chore: update changelog * fix: correctly check proposal status in tests * chore: delete unused var (cherry picked from commit 5581f7f) # Conflicts: # CHANGELOG.md # x/gov/abci_test.go * fix conflicts * updates Co-authored-by: John Letey <j@letey.de> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): enable 0.46.5 bank migration fix through migrator keeper (cosmos#13929) * Update changelog for version bump. * Bring in Cosmos-SDK PR 13651 that overhauls/cleans up the GetConfig function to not require manual addition of stuff in order for it to be read. * Fix the pruning command to use the existing viper instance (that has everything loaded into it) instead of creating a new one. Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Co-authored-by: John Letey <j@letey.de>
* docs: add ApplicationQueryService release notes (cosmos#13587) * docs: add ApplicationQueryService release notes * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(cli): add module-account cli cmd and grpc get api (backport cosmos#13612) (cosmos#13616) * feat(cli): add module-account cli cmd and grpc get api (cosmos#13612) (cherry picked from commit ddf5cf0) * fix conflicts * updates * updates Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/auth): allow multiple = signs in `GetTxsEvent` (backport cosmos#12474) (cosmos#13598) * fix(x/auth): allow multiple = signs in `GetTxsEvent` (cosmos#12474) (cherry picked from commit 18da0e9) * fix changelog * changelog * fix: flakey test Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: app-hash mismatch if upgrade migration commit is interrupted (backport cosmos#13530) (cosmos#13627) * feat(cli): Add iavl-disable-fastnode cmd flag with proper description (cosmos#13656) (cosmos#13659) (cherry picked from commit c833190) Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * build(deps): Bump github.com/cosmos/iavl from 0.19.3 to 0.19.4 (cosmos#13680) * feat: emit cached context events (backport cosmos#13063) (cosmos#13702) * chore: prepare 0.46.4 changelog (cosmos#13716) * chore: prepare 0.46.4 changelog * wording * updates * updates * ci: notify for 0.46.x releases (cosmos#13719) * feat: notify for 0.46.x releases * updates changelog * docs: fix algolia on 0.46 (cosmos#13730) * ci: modifying docs in 0.46 should not redeploy docs (cosmos#13732) * ci: modifying docs in 0.46 should not redeploy docs * updates * fix: propagate msg events correctly in x/gov (backport cosmos#13728) (cosmos#13748) * refactor: add error log when iavl set failed (backport cosmos#13803) (cosmos#13804) * refactor: add error log when iavl set failed (cosmos#13803) * add error log when iavl set failed Ref: cosmos#12012 * Update CHANGELOG.md * play safe (cherry picked from commit 22f3261) * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * chore: bump tendermint to `0.34.23` (cosmos#13814) * fix: propagate events in x/group through sdk.Results (backport cosmos#13808) (cosmos#13809) * docs: update algolia index (cosmos#13823) * fix: bank store migration (backport cosmos#13821) (cosmos#13829) * fix: bank store migration (cosmos#13821) (cherry picked from commit d314a12) * updates Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(types): set custom GasConfig on Context for GasKVStore (backport cosmos#13826) (cosmos#13833) * feat(types): set custom GasConfig on Context for GasKVStore (cosmos#13826) (cherry picked from commit f001b46) * fix conflicts * updates Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: prepare 0.46.5 release (cosmos#13816) * fix: Allow underscores in EventRegex (backport cosmos#13861) (cosmos#13864) * fix: Allow underscores in EventRegex (cosmos#13861) (cherry picked from commit 14c582f) * updates * updates Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group): add group members weight checks (backport cosmos#13869) (cosmos#13880) * fix(group): add group members weight checks (cosmos#13869) (cherry picked from commit 3423442) * fix conflicts * updates * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group)!: Fix group min execution period (backport cosmos#13876) (cosmos#13885) * fix(group)!: Fix group min execution period (cosmos#13876) * fix: don't check MinExecutionPeriod in `Allow` * Check MinExecutionPeriod on doExecuteMsgs * Fix TestExec * Fix TestExec * test exec pruned * Fix submitproposal * Add changelog * typo * revert some changes * add minExecutionPeriod * Add docs and specs (cherry picked from commit 7661f62) * fix docs * fix other conflicts * fix test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): Add helper for v0.46 denom migration (cosmos#13891) * feat(bank): Add helper for v0.46 denom migration * CL * Clearer name * Update x/bank/migrations/v046/store.go Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * rename Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * chore: impove 0.46.5 release notes (cosmos#13898) * chore: impove 0.46.5 release notes * update changelog * refactor: State Streaming Docs + Explicit Config Support (backport cosmos#13894) (cosmos#13909) * chore: remove typo (cosmos#13914) (cosmos#13917) (cherry picked from commit 34dcca7) Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: correctly propagate msg errors in gov (backport cosmos#13918) (cosmos#13928) * fix: correctly propagate msg errors in gov (cosmos#13918) * fix: correctly propagate msg errors in gov * chore: update changelog * fix: correctly check proposal status in tests * chore: delete unused var (cherry picked from commit 5581f7f) * fix conflicts * updates Co-authored-by: John Letey <j@letey.de> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): enable 0.46.5 bank migration fix through migrator keeper (cosmos#13929) * Update changelog for version bump. * Bring in Cosmos-SDK PR 13651 that overhauls/cleans up the GetConfig function to not require manual addition of stuff in order for it to be read. * Fix the pruning command to use the existing viper instance (that has everything loaded into it) instead of creating a new one. Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Co-authored-by: John Letey <j@letey.de>
* docs: add ApplicationQueryService release notes (cosmos#13587) * docs: add ApplicationQueryService release notes * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(cli): add module-account cli cmd and grpc get api (backport cosmos#13612) (cosmos#13616) * feat(cli): add module-account cli cmd and grpc get api (cosmos#13612) (cherry picked from commit ddf5cf0) # Conflicts: # CHANGELOG.md # api/cosmos/auth/v1beta1/query.pulsar.go # api/cosmos/auth/v1beta1/query_grpc.pb.go # x/auth/client/testutil/suite.go # x/auth/types/query.pb.go * fix conflicts * updates * updates Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/auth): allow multiple = signs in `GetTxsEvent` (backport cosmos#12474) (cosmos#13598) * fix(x/auth): allow multiple = signs in `GetTxsEvent` (cosmos#12474) (cherry picked from commit 18da0e9) # Conflicts: # CHANGELOG.md * fix changelog * changelog * fix: flakey test Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: app-hash mismatch if upgrade migration commit is interrupted (backport cosmos#13530) (cosmos#13627) * feat(cli): Add iavl-disable-fastnode cmd flag with proper description (cosmos#13656) (cosmos#13659) (cherry picked from commit c833190) Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * build(deps): Bump github.com/cosmos/iavl from 0.19.3 to 0.19.4 (cosmos#13680) * feat: emit cached context events (backport cosmos#13063) (cosmos#13702) * chore: prepare 0.46.4 changelog (cosmos#13716) * chore: prepare 0.46.4 changelog * wording * updates * updates * ci: notify for 0.46.x releases (cosmos#13719) * feat: notify for 0.46.x releases * updates changelog * docs: fix algolia on 0.46 (cosmos#13730) * ci: modifying docs in 0.46 should not redeploy docs (cosmos#13732) * ci: modifying docs in 0.46 should not redeploy docs * updates * fix: propagate msg events correctly in x/gov (backport cosmos#13728) (cosmos#13748) * refactor: add error log when iavl set failed (backport cosmos#13803) (cosmos#13804) * refactor: add error log when iavl set failed (cosmos#13803) * add error log when iavl set failed Ref: cosmos#12012 * Update CHANGELOG.md * play safe (cherry picked from commit 22f3261) # Conflicts: # CHANGELOG.md * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * chore: bump tendermint to `0.34.23` (cosmos#13814) * fix: propagate events in x/group through sdk.Results (backport cosmos#13808) (cosmos#13809) * docs: update algolia index (cosmos#13823) * fix: bank store migration (backport cosmos#13821) (cosmos#13829) * fix: bank store migration (cosmos#13821) (cherry picked from commit d314a12) # Conflicts: # x/bank/migrations/v3/store.go # x/bank/migrations/v3/store_test.go * updates Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(types): set custom GasConfig on Context for GasKVStore (backport cosmos#13826) (cosmos#13833) * feat(types): set custom GasConfig on Context for GasKVStore (cosmos#13826) (cherry picked from commit f001b46) # Conflicts: # CHANGELOG.md # types/context.go # types/context_test.go * fix conflicts * updates Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: prepare 0.46.5 release (cosmos#13816) * fix: Allow underscores in EventRegex (backport cosmos#13861) (cosmos#13864) * fix: Allow underscores in EventRegex (cosmos#13861) (cherry picked from commit 14c582f) # Conflicts: # CHANGELOG.md # tests/e2e/tx/service_test.go * updates * updates Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group): add group members weight checks (backport cosmos#13869) (cosmos#13880) * fix(group): add group members weight checks (cosmos#13869) (cherry picked from commit 3423442) # Conflicts: # CHANGELOG.md # api/cosmos/tx/v1beta1/service.pulsar.go # types/tx/service.pb.go # x/group/keeper/keeper.go * fix conflicts * updates * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group)!: Fix group min execution period (backport cosmos#13876) (cosmos#13885) * fix(group)!: Fix group min execution period (cosmos#13876) * fix: don't check MinExecutionPeriod in `Allow` * Check MinExecutionPeriod on doExecuteMsgs * Fix TestExec * Fix TestExec * test exec pruned * Fix submitproposal * Add changelog * typo * revert some changes * add minExecutionPeriod * Add docs and specs (cherry picked from commit 7661f62) # Conflicts: # CHANGELOG.md # x/group/README.md # x/group/keeper/keeper_test.go * fix docs * fix other conflicts * fix test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): Add helper for v0.46 denom migration (cosmos#13891) * feat(bank): Add helper for v0.46 denom migration * CL * Clearer name * Update x/bank/migrations/v046/store.go Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * rename Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * chore: impove 0.46.5 release notes (cosmos#13898) * chore: impove 0.46.5 release notes * update changelog * refactor: State Streaming Docs + Explicit Config Support (backport cosmos#13894) (cosmos#13909) * chore: remove typo (cosmos#13914) (cosmos#13917) (cherry picked from commit 34dcca7) Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: correctly propagate msg errors in gov (backport cosmos#13918) (cosmos#13928) * fix: correctly propagate msg errors in gov (cosmos#13918) * fix: correctly propagate msg errors in gov * chore: update changelog * fix: correctly check proposal status in tests * chore: delete unused var (cherry picked from commit 5581f7f) # Conflicts: # CHANGELOG.md # x/gov/abci_test.go * fix conflicts * updates Co-authored-by: John Letey <j@letey.de> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): enable 0.46.5 bank migration fix through migrator keeper (cosmos#13929) * chore: bump tendermint to 0.34.24 (cosmos#13972) * chore: add group and gov/v1 in swagger (backport cosmos#13984) (cosmos#13996) * chore: add group and gov/v1 in swagger (cosmos#13984) Co-authored-by: Marko <marbar3778@yahoo.com> (cherry picked from commit cfa224c) # Conflicts: # client/docs/config.json # client/docs/swagger-ui/swagger.yaml * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(baseapp): fix snapshot interval bug (backport cosmos#14049) (cosmos#14053) * refactor: use viper unmarshal in `config.GetConfig` function (backport cosmos#13651) (cosmos#14082) * fix(group)!: Don't re-tally proposals after VP end (backport cosmos#14071) (cosmos#14091) * fix(group)!: Don't re-tally proposals after VP end (cosmos#14071) (cherry picked from commit 4ebe3aa) # Conflicts: # CHANGELOG.md * fix changelog and test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: do not shadow clientCtx in start.go (backport cosmos#14086) (cosmos#14101) * fix: do not shadow clientCtx in start.go (cosmos#14086) (cherry picked from commit f96072d) # Conflicts: # server/start.go * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: Test for Server Config Read cosmos#14125 (cosmos#14127) (cherry picked from commit 9f46665) Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * fix: remove duplicate ante events (backport cosmos#13983) (cosmos#14142) * fix: remove duplicate ante events (cosmos#13983) ## Description After enabling the post-handler on our chain, we realised something odd with our transaction events. The ordering was `[ANTE, MSGS, ANTE, POST]`. After doing some digging, we realised that the context used inside the post-handler still contains the events from the ante-handler. This should be backported to v0.46.x and v0.47.x 😄 Happy to make it compatible with cosmos#13940 when that gets merged! cc @mbreithecker --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) (cherry picked from commit 25449b5) # Conflicts: # CHANGELOG.md * fix changelog Co-authored-by: John Letey <john@kyve.network> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat: support alternative query multistore (backport cosmos#13529) (cosmos#14169) * feat: support alternative query multistore (cosmos#13529) * support customize query multistore * Update CHANGELOG.md * fix test * Update baseapp/abci.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Update baseapp/baseapp.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Update baseapp/options.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> (cherry picked from commit 15accd7) # Conflicts: # CHANGELOG.md # baseapp/baseapp.go # baseapp/options.go * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * fix: state listener observe writes at wrong time (backport cosmos#13516) (cosmos#14138) * fix: state listener observe writes at wrong time (cosmos#13516) * fix: state listener observe writes at wrong time Closes: cosmos#13457 Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design. The solution (as discussed in the issue) is to listen state writes on rootmulti store only. It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events. It adds new config items for file streamer: - streamers.file.output-metadata - streamers.file.stop-node-on-error - streamers.file.fsync * synchronous abci call, and format doc * fix comment * update file streamer readme and fix typos * typo * fix: state listener observe writes at wrong time Closes: cosmos#13457 Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design. The solution (as discussed in the issue) is to listen state writes on rootmulti store only. It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events. It adds new config items for file streamer: - streamers.file.output-metadata - streamers.file.stop-node-on-error - streamers.file.fsync synchronous abci call, and format doc fix comment update file streamer readme and fix typos typo * improve UX of file streamer, make it immediately usable after enabled - set default value to write_dir. - make write_dir based on home directory by default. - auto-create the directory if not exists. * get homePage from opts Co-authored-by: Marko <marbar3778@yahoo.com> (cherry picked from commit 1f91ee2) # Conflicts: # CHANGELOG.md # api/cosmos/base/store/v1beta1/listening.pulsar.go # baseapp/streaming.go # docs/architecture/adr-038-state-listening.md # server/config/toml.go # simapp/app_v2.go # store/cachemulti/store.go # store/iavl/store.go # store/mem/store.go # store/streaming/constructor.go # store/streaming/file/service.go # store/streaming/file/service_test.go # store/types/listening.pb.go # store/types/store.go * `make proto-gen`, update changelog, delete uncessary files * fix conflicts * fix conflicts * revert api breaking change * fix build * fix unit test Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: Marko <marbar3778@yahoo.com> * refactor: provide a helper for baseapp options (backport cosmos#14175) (cosmos#14178) * refactor: provide a helper for baseapp options (cosmos#14175) * provide a helper for baseapp options * rename * changelog entry * fix spelling (cherry picked from commit 1b6192f) # Conflicts: # CHANGELOG.md # server/mock/app_test.go # simapp/simd/cmd/root.go * conflicts * lint Co-authored-by: Marko <marbar3778@yahoo.com> * feat: add --grpc client option (backport cosmos#14051) (cosmos#14192) Co-authored-by: Aaron Craelius <aaron@regen.network> Co-authored-by: Julien Robert <julien@rbrt.fr> * refactor: cleanup store/streaming/constructor.go (backport cosmos#14044) (cosmos#14236) * chore: audit store/streaming/file/service.go (backport cosmos#14234) (cosmos#14241) Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: fix grpc flag conflict (backport cosmos#14244) (cosmos#14248) * chore: prepare 0.46.7 release (cosmos#14103) * fix(gov): Fix v3 votes migrations (backport cosmos#14214) (cosmos#14277) Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * Add changelog entry for bringing in v0.46.7 changes. * Fix the changelog. The merge duplicated several SDK sections. * Fix the TestFileStreamingService. Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Co-authored-by: John Letey <j@letey.de> Co-authored-by: John Letey <john@kyve.network> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Aaron Craelius <aaron@regen.network>
* docs: add ApplicationQueryService release notes (cosmos#13587) * docs: add ApplicationQueryService release notes * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(cli): add module-account cli cmd and grpc get api (backport cosmos#13612) (cosmos#13616) * feat(cli): add module-account cli cmd and grpc get api (cosmos#13612) (cherry picked from commit ddf5cf0) * fix conflicts * updates * updates Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/auth): allow multiple = signs in `GetTxsEvent` (backport cosmos#12474) (cosmos#13598) * fix(x/auth): allow multiple = signs in `GetTxsEvent` (cosmos#12474) (cherry picked from commit 18da0e9) * fix changelog * changelog * fix: flakey test Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: app-hash mismatch if upgrade migration commit is interrupted (backport cosmos#13530) (cosmos#13627) * feat(cli): Add iavl-disable-fastnode cmd flag with proper description (cosmos#13656) (cosmos#13659) (cherry picked from commit c833190) Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * build(deps): Bump github.com/cosmos/iavl from 0.19.3 to 0.19.4 (cosmos#13680) * feat: emit cached context events (backport cosmos#13063) (cosmos#13702) * chore: prepare 0.46.4 changelog (cosmos#13716) * chore: prepare 0.46.4 changelog * wording * updates * updates * ci: notify for 0.46.x releases (cosmos#13719) * feat: notify for 0.46.x releases * updates changelog * docs: fix algolia on 0.46 (cosmos#13730) * ci: modifying docs in 0.46 should not redeploy docs (cosmos#13732) * ci: modifying docs in 0.46 should not redeploy docs * updates * fix: propagate msg events correctly in x/gov (backport cosmos#13728) (cosmos#13748) * refactor: add error log when iavl set failed (backport cosmos#13803) (cosmos#13804) * refactor: add error log when iavl set failed (cosmos#13803) * add error log when iavl set failed Ref: cosmos#12012 * Update CHANGELOG.md * play safe (cherry picked from commit 22f3261) * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * chore: bump tendermint to `0.34.23` (cosmos#13814) * fix: propagate events in x/group through sdk.Results (backport cosmos#13808) (cosmos#13809) * docs: update algolia index (cosmos#13823) * fix: bank store migration (backport cosmos#13821) (cosmos#13829) * fix: bank store migration (cosmos#13821) (cherry picked from commit d314a12) * updates Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(types): set custom GasConfig on Context for GasKVStore (backport cosmos#13826) (cosmos#13833) * feat(types): set custom GasConfig on Context for GasKVStore (cosmos#13826) (cherry picked from commit f001b46) * fix conflicts * updates Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: prepare 0.46.5 release (cosmos#13816) * fix: Allow underscores in EventRegex (backport cosmos#13861) (cosmos#13864) * fix: Allow underscores in EventRegex (cosmos#13861) (cherry picked from commit 14c582f) * updates * updates Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group): add group members weight checks (backport cosmos#13869) (cosmos#13880) * fix(group): add group members weight checks (cosmos#13869) (cherry picked from commit 3423442) * fix conflicts * updates * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group)!: Fix group min execution period (backport cosmos#13876) (cosmos#13885) * fix(group)!: Fix group min execution period (cosmos#13876) * fix: don't check MinExecutionPeriod in `Allow` * Check MinExecutionPeriod on doExecuteMsgs * Fix TestExec * Fix TestExec * test exec pruned * Fix submitproposal * Add changelog * typo * revert some changes * add minExecutionPeriod * Add docs and specs (cherry picked from commit 7661f62) * fix docs * fix other conflicts * fix test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): Add helper for v0.46 denom migration (cosmos#13891) * feat(bank): Add helper for v0.46 denom migration * CL * Clearer name * Update x/bank/migrations/v046/store.go Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * rename Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * chore: impove 0.46.5 release notes (cosmos#13898) * chore: impove 0.46.5 release notes * update changelog * refactor: State Streaming Docs + Explicit Config Support (backport cosmos#13894) (cosmos#13909) * chore: remove typo (cosmos#13914) (cosmos#13917) (cherry picked from commit 34dcca7) Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: correctly propagate msg errors in gov (backport cosmos#13918) (cosmos#13928) * fix: correctly propagate msg errors in gov (cosmos#13918) * fix: correctly propagate msg errors in gov * chore: update changelog * fix: correctly check proposal status in tests * chore: delete unused var (cherry picked from commit 5581f7f) * fix conflicts * updates Co-authored-by: John Letey <j@letey.de> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): enable 0.46.5 bank migration fix through migrator keeper (cosmos#13929) * chore: bump tendermint to 0.34.24 (cosmos#13972) * chore: add group and gov/v1 in swagger (backport cosmos#13984) (cosmos#13996) * chore: add group and gov/v1 in swagger (cosmos#13984) Co-authored-by: Marko <marbar3778@yahoo.com> (cherry picked from commit cfa224c) * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(baseapp): fix snapshot interval bug (backport cosmos#14049) (cosmos#14053) * refactor: use viper unmarshal in `config.GetConfig` function (backport cosmos#13651) (cosmos#14082) * fix(group)!: Don't re-tally proposals after VP end (backport cosmos#14071) (cosmos#14091) * fix(group)!: Don't re-tally proposals after VP end (cosmos#14071) (cherry picked from commit 4ebe3aa) * fix changelog and test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: do not shadow clientCtx in start.go (backport cosmos#14086) (cosmos#14101) * fix: do not shadow clientCtx in start.go (cosmos#14086) (cherry picked from commit f96072d) * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: Test for Server Config Read cosmos#14125 (cosmos#14127) (cherry picked from commit 9f46665) Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * fix: remove duplicate ante events (backport cosmos#13983) (cosmos#14142) * fix: remove duplicate ante events (cosmos#13983) After enabling the post-handler on our chain, we realised something odd with our transaction events. The ordering was `[ANTE, MSGS, ANTE, POST]`. After doing some digging, we realised that the context used inside the post-handler still contains the events from the ante-handler. This should be backported to v0.46.x and v0.47.x 😄 Happy to make it compatible with cosmos#13940 when that gets merged! cc @mbreithecker --- *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) (cherry picked from commit 25449b5) * fix changelog Co-authored-by: John Letey <john@kyve.network> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat: support alternative query multistore (backport cosmos#13529) (cosmos#14169) * feat: support alternative query multistore (cosmos#13529) * support customize query multistore * Update CHANGELOG.md * fix test * Update baseapp/abci.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Update baseapp/baseapp.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Update baseapp/options.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> (cherry picked from commit 15accd7) * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * fix: state listener observe writes at wrong time (backport cosmos#13516) (cosmos#14138) * fix: state listener observe writes at wrong time (cosmos#13516) * fix: state listener observe writes at wrong time Closes: cosmos#13457 Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design. The solution (as discussed in the issue) is to listen state writes on rootmulti store only. It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events. It adds new config items for file streamer: - streamers.file.output-metadata - streamers.file.stop-node-on-error - streamers.file.fsync * synchronous abci call, and format doc * fix comment * update file streamer readme and fix typos * typo * fix: state listener observe writes at wrong time Closes: cosmos#13457 Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design. The solution (as discussed in the issue) is to listen state writes on rootmulti store only. It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events. It adds new config items for file streamer: - streamers.file.output-metadata - streamers.file.stop-node-on-error - streamers.file.fsync synchronous abci call, and format doc fix comment update file streamer readme and fix typos typo * improve UX of file streamer, make it immediately usable after enabled - set default value to write_dir. - make write_dir based on home directory by default. - auto-create the directory if not exists. * get homePage from opts Co-authored-by: Marko <marbar3778@yahoo.com> (cherry picked from commit 1f91ee2) * `make proto-gen`, update changelog, delete uncessary files * fix conflicts * fix conflicts * revert api breaking change * fix build * fix unit test Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: Marko <marbar3778@yahoo.com> * refactor: provide a helper for baseapp options (backport cosmos#14175) (cosmos#14178) * refactor: provide a helper for baseapp options (cosmos#14175) * provide a helper for baseapp options * rename * changelog entry * fix spelling (cherry picked from commit 1b6192f) * conflicts * lint Co-authored-by: Marko <marbar3778@yahoo.com> * feat: add --grpc client option (backport cosmos#14051) (cosmos#14192) Co-authored-by: Aaron Craelius <aaron@regen.network> Co-authored-by: Julien Robert <julien@rbrt.fr> * refactor: cleanup store/streaming/constructor.go (backport cosmos#14044) (cosmos#14236) * chore: audit store/streaming/file/service.go (backport cosmos#14234) (cosmos#14241) Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: fix grpc flag conflict (backport cosmos#14244) (cosmos#14248) * chore: prepare 0.46.7 release (cosmos#14103) * fix(gov): Fix v3 votes migrations (backport cosmos#14214) (cosmos#14277) Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * Add changelog entry for bringing in v0.46.7 changes. * Fix the changelog. The merge duplicated several SDK sections. * Fix the TestFileStreamingService. Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Co-authored-by: John Letey <j@letey.de> Co-authored-by: John Letey <john@kyve.network> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Aaron Craelius <aaron@regen.network>
* Revert "Merge pull request #270 from provenance-io/llama/add-fee-denom-change-proposal" This reverts commit 7462a84, reversing changes made to 23ba5dc. * Bring in v0.46.4 changes. (#362) * docs: add ApplicationQueryService release notes (cosmos#13587) * docs: add ApplicationQueryService release notes * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(cli): add module-account cli cmd and grpc get api (backport cosmos#13612) (cosmos#13616) * feat(cli): add module-account cli cmd and grpc get api (cosmos#13612) (cherry picked from commit ddf5cf0) # Conflicts: # CHANGELOG.md # api/cosmos/auth/v1beta1/query.pulsar.go # api/cosmos/auth/v1beta1/query_grpc.pb.go # x/auth/client/testutil/suite.go # x/auth/types/query.pb.go * fix conflicts * updates * updates Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/auth): allow multiple = signs in `GetTxsEvent` (backport cosmos#12474) (cosmos#13598) * fix(x/auth): allow multiple = signs in `GetTxsEvent` (cosmos#12474) (cherry picked from commit 18da0e9) # Conflicts: # CHANGELOG.md * fix changelog * changelog * fix: flakey test Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: app-hash mismatch if upgrade migration commit is interrupted (backport cosmos#13530) (cosmos#13627) * feat(cli): Add iavl-disable-fastnode cmd flag with proper description (cosmos#13656) (cosmos#13659) (cherry picked from commit c833190) Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * build(deps): Bump github.com/cosmos/iavl from 0.19.3 to 0.19.4 (cosmos#13680) * feat: emit cached context events (backport cosmos#13063) (cosmos#13702) * chore: prepare 0.46.4 changelog (cosmos#13716) * chore: prepare 0.46.4 changelog * wording * updates * updates * Change the default for the iavl-disable-fastnode flag to true (from false) to match the actual config default. * Add changelog entry for the iavl fastnode flag default. * Update swagger docs. Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * Mark v0.46.4-pio-1 in the changelog and release notes. * Bring in v0.46.5 changes. (#365) * Bring in changes from Cosmos-SDK v0.46.6 (#367) * docs: add ApplicationQueryService release notes (cosmos#13587) * docs: add ApplicationQueryService release notes * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(cli): add module-account cli cmd and grpc get api (backport cosmos#13612) (cosmos#13616) * feat(cli): add module-account cli cmd and grpc get api (cosmos#13612) (cherry picked from commit ddf5cf0) # Conflicts: # CHANGELOG.md # api/cosmos/auth/v1beta1/query.pulsar.go # api/cosmos/auth/v1beta1/query_grpc.pb.go # x/auth/client/testutil/suite.go # x/auth/types/query.pb.go * fix conflicts * updates * updates Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/auth): allow multiple = signs in `GetTxsEvent` (backport cosmos#12474) (cosmos#13598) * fix(x/auth): allow multiple = signs in `GetTxsEvent` (cosmos#12474) (cherry picked from commit 18da0e9) # Conflicts: # CHANGELOG.md * fix changelog * changelog * fix: flakey test Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: app-hash mismatch if upgrade migration commit is interrupted (backport cosmos#13530) (cosmos#13627) * feat(cli): Add iavl-disable-fastnode cmd flag with proper description (cosmos#13656) (cosmos#13659) (cherry picked from commit c833190) Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * build(deps): Bump github.com/cosmos/iavl from 0.19.3 to 0.19.4 (cosmos#13680) * feat: emit cached context events (backport cosmos#13063) (cosmos#13702) * chore: prepare 0.46.4 changelog (cosmos#13716) * chore: prepare 0.46.4 changelog * wording * updates * updates * ci: notify for 0.46.x releases (cosmos#13719) * feat: notify for 0.46.x releases * updates changelog * docs: fix algolia on 0.46 (cosmos#13730) * ci: modifying docs in 0.46 should not redeploy docs (cosmos#13732) * ci: modifying docs in 0.46 should not redeploy docs * updates * fix: propagate msg events correctly in x/gov (backport cosmos#13728) (cosmos#13748) * refactor: add error log when iavl set failed (backport cosmos#13803) (cosmos#13804) * refactor: add error log when iavl set failed (cosmos#13803) * add error log when iavl set failed Ref: cosmos#12012 * Update CHANGELOG.md * play safe (cherry picked from commit 22f3261) # Conflicts: # CHANGELOG.md * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * chore: bump tendermint to `0.34.23` (cosmos#13814) * fix: propagate events in x/group through sdk.Results (backport cosmos#13808) (cosmos#13809) * docs: update algolia index (cosmos#13823) * fix: bank store migration (backport cosmos#13821) (cosmos#13829) * fix: bank store migration (cosmos#13821) (cherry picked from commit d314a12) # Conflicts: # x/bank/migrations/v3/store.go # x/bank/migrations/v3/store_test.go * updates Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(types): set custom GasConfig on Context for GasKVStore (backport cosmos#13826) (cosmos#13833) * feat(types): set custom GasConfig on Context for GasKVStore (cosmos#13826) (cherry picked from commit f001b46) # Conflicts: # CHANGELOG.md # types/context.go # types/context_test.go * fix conflicts * updates Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: prepare 0.46.5 release (cosmos#13816) * fix: Allow underscores in EventRegex (backport cosmos#13861) (cosmos#13864) * fix: Allow underscores in EventRegex (cosmos#13861) (cherry picked from commit 14c582f) # Conflicts: # CHANGELOG.md # tests/e2e/tx/service_test.go * updates * updates Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group): add group members weight checks (backport cosmos#13869) (cosmos#13880) * fix(group): add group members weight checks (cosmos#13869) (cherry picked from commit 3423442) # Conflicts: # CHANGELOG.md # api/cosmos/tx/v1beta1/service.pulsar.go # types/tx/service.pb.go # x/group/keeper/keeper.go * fix conflicts * updates * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group)!: Fix group min execution period (backport cosmos#13876) (cosmos#13885) * fix(group)!: Fix group min execution period (cosmos#13876) * fix: don't check MinExecutionPeriod in `Allow` * Check MinExecutionPeriod on doExecuteMsgs * Fix TestExec * Fix TestExec * test exec pruned * Fix submitproposal * Add changelog * typo * revert some changes * add minExecutionPeriod * Add docs and specs (cherry picked from commit 7661f62) # Conflicts: # CHANGELOG.md # x/group/README.md # x/group/keeper/keeper_test.go * fix docs * fix other conflicts * fix test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): Add helper for v0.46 denom migration (cosmos#13891) * feat(bank): Add helper for v0.46 denom migration * CL * Clearer name * Update x/bank/migrations/v046/store.go Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * rename Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * chore: impove 0.46.5 release notes (cosmos#13898) * chore: impove 0.46.5 release notes * update changelog * refactor: State Streaming Docs + Explicit Config Support (backport cosmos#13894) (cosmos#13909) * chore: remove typo (cosmos#13914) (cosmos#13917) (cherry picked from commit 34dcca7) Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: correctly propagate msg errors in gov (backport cosmos#13918) (cosmos#13928) * fix: correctly propagate msg errors in gov (cosmos#13918) * fix: correctly propagate msg errors in gov * chore: update changelog * fix: correctly check proposal status in tests * chore: delete unused var (cherry picked from commit 5581f7f) # Conflicts: # CHANGELOG.md # x/gov/abci_test.go * fix conflicts * updates Co-authored-by: John Letey <j@letey.de> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): enable 0.46.5 bank migration fix through migrator keeper (cosmos#13929) * Update changelog for version bump. * Bring in Cosmos-SDK PR 13651 that overhauls/cleans up the GetConfig function to not require manual addition of stuff in order for it to be read. * Fix the pruning command to use the existing viper instance (that has everything loaded into it) instead of creating a new one. Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Co-authored-by: John Letey <j@letey.de> * Backport to v0.46.x: feat: Add x/authz SendAuthorization AllowList cosmos#12648 (#368) * feat: Add x/authz SendAuthorization AllowList (cosmos#12648) Closes: cosmos#12609 --- *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * Fix a unit test that for whatever reason didn't get updated in the merge. Co-authored-by: likhita-809 <78951027+likhita-809@users.noreply.github.com> * Mark v0.46.6-pio-1 in the changelog and release notes. * use hashicorp go-plugin * python example * implement streaming to baseapp * abci listener wiring * update test files * update test files * kafka plugin python example * update package name * update proto and services * tx and kvpair indexing * tidy up * add readme * update readme * add testing section * listeners need to be async * remove goroutine on blocking call * terminate with os.Exit on stopNodeOnErr * dumb pipe bridge * fix: listen state writes on rootmulti store only and refactoring file streamer to output single file for each block update spec sort storeKey once at first move MemoryListener store package * introduce memory listener and OnCommit listener * remove WriteListener and use MemoryListener * internalize listener init to cache layer * determenistic PopStateCache, grpc service * add Go file plugin * multiple service support * add \n * add proto dir * append to file * support in-process listeners * use setStreamingService * enable plugins as managed clients * fix after cherry pick * add default to toml config * format toml config * update template * update template * update documentation * fix test * write request to single topics * fix lint errors * remove python examples, CI cannot verify * fix gosec findings * move plugin proto with sdk proto files, regen plugin code * update readme * update deps remove unused dep * Bring in v0.46.7 updates. (#402) * docs: add ApplicationQueryService release notes (cosmos#13587) * docs: add ApplicationQueryService release notes * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(cli): add module-account cli cmd and grpc get api (backport cosmos#13612) (cosmos#13616) * feat(cli): add module-account cli cmd and grpc get api (cosmos#13612) (cherry picked from commit ddf5cf0) # Conflicts: # CHANGELOG.md # api/cosmos/auth/v1beta1/query.pulsar.go # api/cosmos/auth/v1beta1/query_grpc.pb.go # x/auth/client/testutil/suite.go # x/auth/types/query.pb.go * fix conflicts * updates * updates Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(x/auth): allow multiple = signs in `GetTxsEvent` (backport cosmos#12474) (cosmos#13598) * fix(x/auth): allow multiple = signs in `GetTxsEvent` (cosmos#12474) (cherry picked from commit 18da0e9) # Conflicts: # CHANGELOG.md * fix changelog * changelog * fix: flakey test Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: app-hash mismatch if upgrade migration commit is interrupted (backport cosmos#13530) (cosmos#13627) * feat(cli): Add iavl-disable-fastnode cmd flag with proper description (cosmos#13656) (cosmos#13659) (cherry picked from commit c833190) Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> * build(deps): Bump github.com/cosmos/iavl from 0.19.3 to 0.19.4 (cosmos#13680) * feat: emit cached context events (backport cosmos#13063) (cosmos#13702) * chore: prepare 0.46.4 changelog (cosmos#13716) * chore: prepare 0.46.4 changelog * wording * updates * updates * ci: notify for 0.46.x releases (cosmos#13719) * feat: notify for 0.46.x releases * updates changelog * docs: fix algolia on 0.46 (cosmos#13730) * ci: modifying docs in 0.46 should not redeploy docs (cosmos#13732) * ci: modifying docs in 0.46 should not redeploy docs * updates * fix: propagate msg events correctly in x/gov (backport cosmos#13728) (cosmos#13748) * refactor: add error log when iavl set failed (backport cosmos#13803) (cosmos#13804) * refactor: add error log when iavl set failed (cosmos#13803) * add error log when iavl set failed Ref: cosmos#12012 * Update CHANGELOG.md * play safe (cherry picked from commit 22f3261) # Conflicts: # CHANGELOG.md * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * chore: bump tendermint to `0.34.23` (cosmos#13814) * fix: propagate events in x/group through sdk.Results (backport cosmos#13808) (cosmos#13809) * docs: update algolia index (cosmos#13823) * fix: bank store migration (backport cosmos#13821) (cosmos#13829) * fix: bank store migration (cosmos#13821) (cherry picked from commit d314a12) # Conflicts: # x/bank/migrations/v3/store.go # x/bank/migrations/v3/store_test.go * updates Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(types): set custom GasConfig on Context for GasKVStore (backport cosmos#13826) (cosmos#13833) * feat(types): set custom GasConfig on Context for GasKVStore (cosmos#13826) (cherry picked from commit f001b46) # Conflicts: # CHANGELOG.md # types/context.go # types/context_test.go * fix conflicts * updates Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: prepare 0.46.5 release (cosmos#13816) * fix: Allow underscores in EventRegex (backport cosmos#13861) (cosmos#13864) * fix: Allow underscores in EventRegex (cosmos#13861) (cherry picked from commit 14c582f) # Conflicts: # CHANGELOG.md # tests/e2e/tx/service_test.go * updates * updates Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group): add group members weight checks (backport cosmos#13869) (cosmos#13880) * fix(group): add group members weight checks (cosmos#13869) (cherry picked from commit 3423442) # Conflicts: # CHANGELOG.md # api/cosmos/tx/v1beta1/service.pulsar.go # types/tx/service.pb.go # x/group/keeper/keeper.go * fix conflicts * updates * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(group)!: Fix group min execution period (backport cosmos#13876) (cosmos#13885) * fix(group)!: Fix group min execution period (cosmos#13876) * fix: don't check MinExecutionPeriod in `Allow` * Check MinExecutionPeriod on doExecuteMsgs * Fix TestExec * Fix TestExec * test exec pruned * Fix submitproposal * Add changelog * typo * revert some changes * add minExecutionPeriod * Add docs and specs (cherry picked from commit 7661f62) # Conflicts: # CHANGELOG.md # x/group/README.md # x/group/keeper/keeper_test.go * fix docs * fix other conflicts * fix test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): Add helper for v0.46 denom migration (cosmos#13891) * feat(bank): Add helper for v0.46 denom migration * CL * Clearer name * Update x/bank/migrations/v046/store.go Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * rename Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> * chore: impove 0.46.5 release notes (cosmos#13898) * chore: impove 0.46.5 release notes * update changelog * refactor: State Streaming Docs + Explicit Config Support (backport cosmos#13894) (cosmos#13909) * chore: remove typo (cosmos#13914) (cosmos#13917) (cherry picked from commit 34dcca7) Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: correctly propagate msg errors in gov (backport cosmos#13918) (cosmos#13928) * fix: correctly propagate msg errors in gov (cosmos#13918) * fix: correctly propagate msg errors in gov * chore: update changelog * fix: correctly check proposal status in tests * chore: delete unused var (cherry picked from commit 5581f7f) # Conflicts: # CHANGELOG.md # x/gov/abci_test.go * fix conflicts * updates Co-authored-by: John Letey <j@letey.de> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat(bank): enable 0.46.5 bank migration fix through migrator keeper (cosmos#13929) * chore: bump tendermint to 0.34.24 (cosmos#13972) * chore: add group and gov/v1 in swagger (backport cosmos#13984) (cosmos#13996) * chore: add group and gov/v1 in swagger (cosmos#13984) Co-authored-by: Marko <marbar3778@yahoo.com> (cherry picked from commit cfa224c) # Conflicts: # client/docs/config.json # client/docs/swagger-ui/swagger.yaml * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * fix(baseapp): fix snapshot interval bug (backport cosmos#14049) (cosmos#14053) * refactor: use viper unmarshal in `config.GetConfig` function (backport cosmos#13651) (cosmos#14082) * fix(group)!: Don't re-tally proposals after VP end (backport cosmos#14071) (cosmos#14091) * fix(group)!: Don't re-tally proposals after VP end (cosmos#14071) (cherry picked from commit 4ebe3aa) # Conflicts: # CHANGELOG.md * fix changelog and test Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: do not shadow clientCtx in start.go (backport cosmos#14086) (cosmos#14101) * fix: do not shadow clientCtx in start.go (cosmos#14086) (cherry picked from commit f96072d) # Conflicts: # server/start.go * updates Co-authored-by: Julien Robert <julien@rbrt.fr> * chore: Test for Server Config Read cosmos#14125 (cosmos#14127) (cherry picked from commit 9f46665) Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * fix: remove duplicate ante events (backport cosmos#13983) (cosmos#14142) * fix: remove duplicate ante events (cosmos#13983) ## Description After enabling the post-handler on our chain, we realised something odd with our transaction events. The ordering was `[ANTE, MSGS, ANTE, POST]`. After doing some digging, we realised that the context used inside the post-handler still contains the events from the ante-handler. This should be backported to v0.46.x and v0.47.x 😄 Happy to make it compatible with cosmos#13940 when that gets merged! cc @mbreithecker --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) (cherry picked from commit 25449b5) # Conflicts: # CHANGELOG.md * fix changelog Co-authored-by: John Letey <john@kyve.network> Co-authored-by: Julien Robert <julien@rbrt.fr> * feat: support alternative query multistore (backport cosmos#13529) (cosmos#14169) * feat: support alternative query multistore (cosmos#13529) * support customize query multistore * Update CHANGELOG.md * fix test * Update baseapp/abci.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Update baseapp/baseapp.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Update baseapp/options.go Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> (cherry picked from commit 15accd7) # Conflicts: # CHANGELOG.md # baseapp/baseapp.go # baseapp/options.go * fix conflicts Co-authored-by: yihuang <huang@crypto.com> * fix: state listener observe writes at wrong time (backport cosmos#13516) (cosmos#14138) * fix: state listener observe writes at wrong time (cosmos#13516) * fix: state listener observe writes at wrong time Closes: cosmos#13457 Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design. The solution (as discussed in the issue) is to listen state writes on rootmulti store only. It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events. It adds new config items for file streamer: - streamers.file.output-metadata - streamers.file.stop-node-on-error - streamers.file.fsync * synchronous abci call, and format doc * fix comment * update file streamer readme and fix typos * typo * fix: state listener observe writes at wrong time Closes: cosmos#13457 Currently state listener is notified when the cache store write, which happens in commit event only, which breaks the current design. The solution (as discussed in the issue) is to listen state writes on rootmulti store only. It also changes the file streamer to output single data file for the writes in the whole block, since we can't distinguish writes from different stage of abci events. It adds new config items for file streamer: - streamers.file.output-metadata - streamers.file.stop-node-on-error - streamers.file.fsync synchronous abci call, and format doc fix comment update file streamer readme and fix typos typo * improve UX of file streamer, make it immediately usable after enabled - set default value to write_dir. - make write_dir based on home directory by default. - auto-create the directory if not exists. * get homePage from opts Co-authored-by: Marko <marbar3778@yahoo.com> (cherry picked from commit 1f91ee2) # Conflicts: # CHANGELOG.md # api/cosmos/base/store/v1beta1/listening.pulsar.go # baseapp/streaming.go # docs/architecture/adr-038-state-listening.md # server/config/toml.go # simapp/app_v2.go # store/cachemulti/store.go # store/iavl/store.go # store/mem/store.go # store/streaming/constructor.go # store/streaming/file/service.go # store/streaming/file/service_test.go # store/types/listening.pb.go # store/types/store.go * `make proto-gen`, update changelog, delete uncessary files * fix conflicts * fix conflicts * revert api breaking change * fix build * fix unit test Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: Marko <marbar3778@yahoo.com> * refactor: provide a helper for baseapp options (backport cosmos#14175) (cosmos#14178) * refactor: provide a helper for baseapp options (cosmos#14175) * provide a helper for baseapp options * rename * changelog entry * fix spelling (cherry picked from commit 1b6192f) # Conflicts: # CHANGELOG.md # server/mock/app_test.go # simapp/simd/cmd/root.go * conflicts * lint Co-authored-by: Marko <marbar3778@yahoo.com> * feat: add --grpc client option (backport cosmos#14051) (cosmos#14192) Co-authored-by: Aaron Craelius <aaron@regen.network> Co-authored-by: Julien Robert <julien@rbrt.fr> * refactor: cleanup store/streaming/constructor.go (backport cosmos#14044) (cosmos#14236) * chore: audit store/streaming/file/service.go (backport cosmos#14234) (cosmos#14241) Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * fix: fix grpc flag conflict (backport cosmos#14244) (cosmos#14248) * chore: prepare 0.46.7 release (cosmos#14103) * fix(gov): Fix v3 votes migrations (backport cosmos#14214) (cosmos#14277) Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr> * Add changelog entry for bringing in v0.46.7 changes. * Fix the changelog. The merge duplicated several SDK sections. * Fix the TestFileStreamingService. Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Co-authored-by: John Letey <j@letey.de> Co-authored-by: John Letey <john@kyve.network> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Aaron Craelius <aaron@regen.network> * Mark v0.46.7-pio-1 in the changelog and release notes. * Note v0.46.6-pio-3 in the changelog. * cherry-pick cosmos-sdk authz validatebasic fix (#429) * cherry-pick cosmos-sdk authz validatebasic fix * Add change log entry Co-authored-by: bruce-wayne2 <97930236+bruce-wayne2@users.noreply.github.com> * set res for delivertx * Revert "Revert "Merge pull request #270 from provenance-io/llama/add-fee-denom-change-proposal"" This reverts commit 648ae0c. * Mark v0.46.8-pio-1 in the changelog and release notes. * improvements from upstream feedback * fix tests * remove release notes * add changelog entry * changes based on feedback * fix tests * default to empty keys * feadback fixes --------- Co-authored-by: Daniel Wedul <github@wedul.com> Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Julien Robert <julien@rbrt.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Sai Kumar <17549398+gsk967@users.noreply.github.com> Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com> Co-authored-by: William Chong <6198816+williamchong@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com> Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Co-authored-by: John Letey <j@letey.de> Co-authored-by: John Letey <john@kyve.network> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Aaron Craelius <aaron@regen.network> Co-authored-by: Carlton Hanna <nullpointer0x00@gmail.com> Co-authored-by: bruce-wayne2 <97930236+bruce-wayne2@users.noreply.github.com>
closing this since there are ways to recover from apphash mismatches without having to resync |
But it's still hard to diagnose the root cause of an app hash mismatch, if it's caused by system error, we can rollback and retry, but if it's non-deterministic logic, it's much more serious, but it's hard to tell at the first glance. |
…osmos#13804) * refactor: add error log when iavl set failed (cosmos#13803) * add error log when iavl set failed Ref: cosmos#12012 * Update CHANGELOG.md * play safe (cherry picked from commit 22f3261) # Conflicts: # CHANGELOG.md * fix conflicts Co-authored-by: yihuang <huang@crypto.com>
Summary of Bug
During delivering tx, when there are errors happening in low-level DB, for example, "too many opened files", tm-db turns them into panic which is recovered by the tx runner and treated as a failed tx execution result, which results in state inconsistency and manifested as an app-hash mismatch error in the next block.
Maybe it's better to stop processing the current block in such cases.
Edit:
A new case that we think may be related to this: #12012 (comment)
Version
Steps to Reproduce
For Admin Use
The text was updated successfully, but these errors were encountered: