Skip to content

mempool: propagate max gas errors back to the rpc #3546

@ebuchman

Description

@ebuchman

If a tx exceeds the block max gas, the tx will fail to be included in the mempool, but this error is not propagated back to the rpc client since it's just internal to the mempool and not reflected in the ABCI code.

See https://github.com/tendermint/tendermint/blob/v0.31.3/mempool/mempool.go#L514 - even if the ABCI code is 0, if the postCheck fails (ie. max gas exceeded), the tx isn't included in the mempool.

The only thing that gets back to the RPC client here is the ABCI response, which in this case shows no error.

We should find some way to propagate the postCheck error back up to the rpc client. Otherwise, it can be very difficult to understand why a tx is not getting included in the mempool even though it passes the ABCI!

Metadata

Metadata

Labels

C:mempoolComponent: MempoolC:rpcComponent: JSON RPC, gRPCT:bugType Bug (Confirmed)T:observabilityType: Observability

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions