Skip to content

feat: add timeout info to initChain and finalizeBlock resps#432

Merged
damiannolan merged 11 commits intocelestiaorg:release/v0.50.x-celestiafrom
01builders:damian/timeout-info
Apr 2, 2025
Merged

feat: add timeout info to initChain and finalizeBlock resps#432
damiannolan merged 11 commits intocelestiaorg:release/v0.50.x-celestiafrom
01builders:damian/timeout-info

Conversation

@damiannolan
Copy link
Collaborator

Description

Depends on #431 to clean diffs.

  • Pins to celestia-core fork (marko/core_changes_v3 temporarily) to pick up TimeoutInfo type.
  • Adds TimeoutInfo to EndBlock and propagates in InitChain and FinalizeBlock responses.

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
  • 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)

@damiannolan
Copy link
Collaborator Author

should pull in latest of celestiaorg/celestia-core#1672 and eventually lock in when merged

Copy link
Collaborator

@rootulp rootulp left a comment

Choose a reason for hiding this comment

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

LGTM. Seems like this PR is:

  1. propagating TimeoutInfo in a few ABCI responses
  2. uses replace statements to pick up changes needed for the TimeoutInfo propagating

and I assume the replaces will look cleaner (i.e. use an official release) after we merge some other prerequisite work

@damiannolan damiannolan marked this pull request as ready for review March 25, 2025 15:28
@damiannolan damiannolan requested a review from julienrbrt March 25, 2025 15:30
@damiannolan
Copy link
Collaborator Author

It looks like the e2e/tx service suite is failing. So will need to look into that.

From what I can see grpc/grpc-gateway tx query with txHash is hanging, and we hit a timeout alarm in CI and it also hangs for me locally.

Also some failures in the TxEvents (off by one errors in expected len of tx results) for both grpc and grpc-gateway too.

Seems comet/celestia-core related I guess.

@damiannolan
Copy link
Collaborator Author

possibly something to do with Tx query looking to get a shareProof for inclusion and calling into a custom abci request query endpoint which won't exist in the simapp under test in here.

@damiannolan
Copy link
Collaborator Author

damiannolan commented Mar 25, 2025

I actually think its deadlock because of that ^^

core will lock on the query conn when calling "/cosmos.tx.v1beta1.Service/GetTx" and later attempt to call again when going into "custom/txInclusionProof/{index}" while in Tx query

how was this avoided previously, or am I missing something?

x/upgrade/go.mod Outdated
replace github.com/cosmos/cosmos-sdk => ../../.
replace (
// celestia-core
github.com/cometbft/cometbft => github.com/celestiaorg/celestia-core v0.38.11-0.20250325150452-89ef6e8a5cb3 // marko/core_changes_v3
Copy link
Member

Choose a reason for hiding this comment

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

random note that all these aws imports reminds me we need to merge celestiaorg/celestia-core#1437

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I was going to ask about them on the core PR actually!

@damiannolan damiannolan requested a review from chatton April 1, 2025 06:26
@rootulp rootulp requested review from evan-forbes and rootulp April 1, 2025 13:10
Copy link
Collaborator

@rootulp rootulp left a comment

Choose a reason for hiding this comment

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

@damiannolan do you need us to cut celestia-core and/or cosmos-sdk releases so we can fix the replace directives in this PR?

// use cosmos fork of keyring
github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0
// celestia-core
github.com/cometbft/cometbft => github.com/celestiaorg/celestia-core v0.38.11-0.20250331172655-bbd3b9bdd1ee
Copy link
Collaborator

Choose a reason for hiding this comment

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

Seems like we should create a celestia-core release so this can use an official release. Is everything merged in celestia-core and you just need a release?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

If you want to cut a rc/alpha tag on core then that would be great. We could pick that up here.
I'm not 100% sure if everything is merged. There was still some discussion around mempool, right?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't have enough context on the v0.38.x branch and what the plan is regarding celestia-core releases moving forward so I don't feel comfortable cutting a release from that branch.

@tac0turtle what's the status of v0.38.x in celestia-core? Is it safe to cut release candidates from?

Comment on lines +218 to +220
github.com/cometbft/cometbft => github.com/celestiaorg/celestia-core v0.38.11-0.20250331172655-bbd3b9bdd1ee

github.com/cosmos/cosmos-sdk => ../../.
Copy link
Collaborator

Choose a reason for hiding this comment

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

[blocking]

These replaces should use official releases

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Agree, but on the release branch I think it is normally using local replace, but when tagged is locked in to an official version. cc. @julienrbrt

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes, once you tag the SDK, you should bump x/upgrade go.mod to use that version and tag x/upgrade.
See description from #430

Copy link
Collaborator

@rootulp rootulp left a comment

Choose a reason for hiding this comment

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

Approving to unblock but we need a follow up issue or PR to update the replace directives to use official releases

@damiannolan damiannolan merged commit 9d04f7a into celestiaorg:release/v0.50.x-celestia Apr 2, 2025
40 of 45 checks passed
@damiannolan damiannolan deleted the damian/timeout-info branch April 2, 2025 07:27
tac0turtle pushed a commit to 01builders/cosmos-sdk that referenced this pull request Apr 7, 2025
…org#432)

* chore: go1.23 everywhere

* chore: use go1.23

* feat: add timeout info to initChain and finalizeBlock resps

* chore: use latest celestia-core branch

* chore: set prove flag to false for query tx

* chore: add changelogs

* chore: pin to HEAD of v0.38.x-celestia (core)

adjust
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.

4 participants