-
Notifications
You must be signed in to change notification settings - Fork 235
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
Problem: The unlucky transactions are not shown in json rpc #458
Problem: The unlucky transactions are not shown in json rpc #458
Conversation
|
||
replace github.com/tharsis/ethermint => github.com/yihuang/ethermint v0.7.2-cronos-9.0.20220427040028-1d16a8af7dfc | ||
replace github.com/tharsis/ethermint => github.com/crypto-org-chain/ethermint v0.7.2-cronos-15 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the commits are identical, just move to crypto-org-chain fork and make a tag.
https://github.com/crypto-org-chain/ethermint/compare/1d16a8af7dfc...v0.7.2-cronos-15?body=&expand=1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure how long the "find from 0 to the upgrade height" process will take, but if too long, maybe good to later add a constant that contains all problematic block heights, so one can directly iterate over those?
Closes: crypto-org-chain#455 - add patch-tx-result command - test in integration test
I'm trying in a mainnet node, will see results later. |
It takes almost 2hours to run the following command on a mainnet rocksdb node.:
it patched 13 transactions. It takes almost 8 minutes to call |
We can use app options to enable lazy loading of the cms, let's see how much that improve. |
Speed:
Replay block is the most costly part, the duration is almost proportional to the number of patched blocks, it takes several seconds per patched block. |
I see, Do you know it takes for a single patch? (you can try using the command start=x, end=x+1) if the command can take as input a file with a list of all "problematic" height, maybe it could be faster. Assuming that it takes 1min for 10000 blocks and that the current height in mainnet is 2682549, it can already |
The time spent on iterate normal blocks are negligible compared to the time to patch blocks, it takes around 4 hours to iterate all the blocks without doing the patch, it takes around 5 seconds to patch a block, so I guess it'll take days to patch all the problematic blocks. We can run it on a offline node first, then share the patched db to the other nodes. |
it might make sense to decompose the command into:
|
This pull request introduces 1 alert when merging 0575a36 into ca00b0f - view on LGTM.com new alerts:
|
Co-authored-by: Thomas Nguy <81727899+thomas-nguy@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
Manual local test result, looks alright. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it'll take days to patch all the problematic blocks.
will it be possible for the command to have a progress tracker / ETA for completion?
I think the patch time for each block should be almost constant, we dump the block numbers need to patch in advance, then we can calculate how much time is left according to the latest patched block height. |
Closes: #455
👮🏻👮🏻👮🏻 !!!! REFERENCE THE PROBLEM YOUR ARE SOLVING IN THE PR TITLE AND DESCRIBE YOUR SOLUTION HERE !!!! DO NOT FORGET !!!! 👮🏻👮🏻👮🏻
PR Checklist:
make
)make test
)go fmt
)golangci-lint run
)go list -json -m all | nancy sleuth
)Thank you for your code, it's appreciated! :)