-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
[Feature]: make transaction execution thread-safe #19613
Labels
Comments
This is accounted for in server v2 design. It might make sense to wait for that and implement a custom stf |
I can submit a few trivial cleanups first. it seems it's mostly thread-safe already, in the sense of |
12 tasks
yihuang
added a commit
to yihuang/cosmos-sdk
that referenced
this issue
Mar 1, 2024
ref: cosmos#19613 Before the ante handler set the gas meter using tx gas-wanted, the gas meter in ctx remains a globally shared one, although it don't have bad effect right now, but it's a race condition when executing in parallel.
12 tasks
yihuang
added a commit
to yihuang/cosmos-sdk
that referenced
this issue
Mar 5, 2024
ref: cosmos#19613 block gas meter is not safe when executing transactions in parallel.
12 tasks
closing this as we merged the prs that were proposed |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
When experimenting with parallel transaction execution, I noticed several race conditions in current transaction execution flow.
Problem Definition
there are a few race conditions when trying to execute transactions in parallel.
Proposed Feature
feat(baseapp): add option to disable block gas meter #19626
getContextForTx
, to avoid accessing a wrong gas meter instance before it's initialized in ante hander.fix(baseapp): don't share global gas meter in tx execution #19616
The text was updated successfully, but these errors were encountered: