Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: merge cosmos-sdk v0.45.16 #306

Merged
merged 34 commits into from
Sep 19, 2023
Merged

feat: merge cosmos-sdk v0.45.16 #306

merged 34 commits into from
Sep 19, 2023

Conversation

JimLarson
Copy link

@JimLarson JimLarson commented Sep 15, 2023

Description

Refs: Agoric/agoric-sdk#8223

Merges cosmos/cosmos-sdk v0.45.16.

See commit for description of merge conflict resolutions. Pay particular attention to baseapp/abci.go.

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 in the PR title
  • added ! to the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • followed the guidelines for building modules
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • included comments for documenting Go code
  • updated the relevant documentation or specification
  • reviewed "Files changed" and left comments if necessary
  • run make lint and make test
  • 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 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)

julienrbrt and others added 30 commits November 10, 2022 13:31
…ed (cosmos#13896)

* fix: return err instead of empty values when pruned height is queried

* fix tests

* fix more tests

* final fixes

* add changelog
* feat: add store name in `tracekv`-emitted store traces (cosmos#11646)

* feature: Clone and Merge methods on TraceContext

* chore: use TraceContext.Merge method in SetTracingContext

* feature: add Store name in TraceContext during execution

* chore: update rootmulti Store TraceContext on *Store after Merge()

* add changelog entry

Co-authored-by: Gianguido Sorà <gsora@users.noreply.github.com>
…) (cosmos#14139)

* 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/abci.go
#	baseapp/streaming.go
#	docs/architecture/adr-038-state-listening.md
#	server/config/config.go
#	server/config/toml.go
#	simapp/app.go
#	simapp/app_v2.go
#	store/cachemulti/store.go
#	store/iavl/store.go
#	store/mem/store.go
#	store/rootmulti/store.go
#	store/streaming/constructor.go
#	store/streaming/constructor_test.go
#	store/streaming/file/README.md
#	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 GetConfig

Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
…osmos#14242)

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
…) (cosmos#14341)

Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
…) (cosmos#14639)

Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Facundo Medica <facundomedica@gmail.com>
…mos#15048)

Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
…osmos#15114)

Co-authored-by: khanh-notional <50263489+catShaark@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: Julien Robert <julien@rbrt.fr>
julienrbrt and others added 3 commits May 11, 2023 17:30
Release v0.45.16

Manual resolution for the following conflicts:

Makefile
	Updated to our tendermint fork

baseapp/abci.go
	Complex merge - please review

contrib/images/simd-env/Dockerfile
	Accept their changes

go.mod
	Use our tendermint fork

go.sum
	Regenerate with go mod tidy

ics23/go/go.mod
ics23/go/go.sum
	Accept their deletion

snapshots/manager_test.go
store/rootmulti/snapshot_test.go
	Opaque binary data in tests - use ours.
@JimLarson
Copy link
Author

@mhofman please take a look at the merge of snapshots/manager_test.go andstore/rootmulti/snapshot_test.go which have some opaque binary data for tests. Our changes confict with upstream changes, and the tests produce our expected values, not theirs. Please confirm that this is the appropriate merge.

@mhofman
Copy link

mhofman commented Sep 16, 2023

Reviewing nit: The switch to agoric-labs/cometbft being done as part of the conflict resolution of the tag merge makes it harder to follow what happened during that merge. Manually updating the version first then merging may make this review easier. I do see that tendermint was updated a couple times first upstream before the switch, so in addition or alternatively staggering multiple merges might also make it easier to review.

Copy link
Collaborator

@michaelfig michaelfig left a comment

Choose a reason for hiding this comment

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

I was able to find my way with git log -p --cc 7ec432f1e. LGTM!

Copy link

@mhofman mhofman left a comment

Choose a reason for hiding this comment

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

@michaelfig's command indeed showed only the changes from conflict resolution, not sure why GH didn't manage to do the same (my experience is that it can normally show a condensed diff of such merges)

Anyway, I have replicated this merge step by step and arrived at a similar outcome. (I tried to similarly replicate the cometbft 0.34.27 merge but that caused a flurry of merge conflicts I didn't understand and didn't feel like tracking down)

I believe that unlike upstream we're not impacted by the hash changes in snapshots when switching to cometbft because we backported a fix from 0.47 that insulated us from it. See 17f1103


# Changelog

## [v0.46.16-alpha.agoric.1] - 2023-09-15
Copy link

Choose a reason for hiding this comment

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

Nit: this is assuming we're tagging this branch or the resulting merge commit of this PR. Why not use the ## [Unreleased] convention?

Copy link
Author

Choose a reason for hiding this comment

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

Quite right - done.

@JimLarson JimLarson merged commit 87281e1 into Agoric Sep 19, 2023
30 of 31 checks passed
@JimLarson JimLarson deleted the 8223-merge-0-45-16 branch September 19, 2023 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants