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

Consider increasing TimeoutBroadcastTxCommit #1273

Open
rootulp opened this issue Mar 21, 2024 · 2 comments
Open

Consider increasing TimeoutBroadcastTxCommit #1273

rootulp opened this issue Mar 21, 2024 · 2 comments

Comments

@rootulp
Copy link
Collaborator

rootulp commented Mar 21, 2024

Context

TimeoutBroadcastTxCommit: 10 * time.Second,

Problem

Feedback from @joroshiba

Digging into code I've noticed that blob submission through celestia-node via code pulled from celestia-app utilizes a syncronous broadcast tx call which defaults to timing out after 10s (https://github.com/celestiaorg/celestia-core/blob/main/config/config.go#L439), although configurable by each node. The average blocktime on Celestia is about 11s. This seems to means that if you submit a TX via celestia node or celestia app near the beggining of a block timing you will most likely get a timeout error?

Proposal

  1. Confirm that this timeout gets hit if a user tries to submit a transaction when > 10 seconds remain until the next block is produced. In other words, attempt to broadcast a transaction immediately after a block is produced.
  2. Consider bumping the timeout to something larger than mainnet block time (~12 seconds) so ~15 seconds.
  3. Confirm that this timeout doesn't get hit anymore
@rootulp
Copy link
Collaborator Author

rootulp commented Mar 22, 2024

The 10 second timeout looks already overwritten in celestia-app here. Related: celestiaorg/celestia-app#1034

In a node I have locally, the ~/.celestia-app/config/config.toml contains:

# How long to wait for a tx to be committed during /broadcast_tx_commit.
# WARNING: Using a value larger than 10s will result in increasing the
# global HTTP write timeout, which applies to all connections and endpoints.
# See https://github.com/tendermint/tendermint/issues/3435
timeout_broadcast_tx_commit = "50s"

which makes me think the 10 second timeout alluded to in the OP is not actually the timeout getting hit. There are other timeouts in the config files. For example ~/.celestia-app/config/app.toml:

# RPCReadTimeout defines the Tendermint RPC read timeout (in seconds).
rpc-read-timeout = 10

@rootulp
Copy link
Collaborator Author

rootulp commented Mar 25, 2024

@joroshiba do you know which consensus full node you're connected to? It would be nice if we can verify what value they use for timeout_broadcast_tx_commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant