-
Notifications
You must be signed in to change notification settings - Fork 629
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
transactions.py with nightly_protocol #4133
Comments
Passes with disabled |
Investigating this test.
|
For 5, the problem seems to be in this logic:
Log from the node:
old_block is always false because header head doesn't update until we get chunks. |
Yes, as long as you have the headers. Also note that this logic should not matter because the request should be resent in |
Then there is a bug, because header head is 57 in the snippet |
Use get_epoch_block_approvers_ordered instead of get_epoch_block_producers_ordered. Make some changes to the test: query the observer node, disable storage checking and set a low state sync timeout. Fixes #4133 Test plan --------- nayduck
Some changes to the test: query the observer node, disable storage checking and set a low state sync timeout. Fixes #4133 Test plan --------- nayduck
Chunks are not forwarded to observer nodes, so observers need to send chunk requests, which is naturally slower than getting forwarded parts (this indeed was the whole point of chunk forwarding -- to make chunk distribution to validators faster). I've noticed this before as well with sharded performance testing. I think in practice it is fine to have RPC nodes be a couple blocks behind validator nodes, though it may cause problems for tests, yes. I think there are other ways we could try to optimize chunk distribution for RPC nodes as well (e.g. nodes could inspect routed messages and choose to process ones which are relevant to shards it tracks in addition to forwarding the message along; or if peers knew what shards each other tracked then we could expand the chunk forwarding logic). But I don't think we should implement those unless there are problems in a real network (e.g. testnet). |
Some changes to the test: query the observer node, disable storage checking and set a low state sync timeout. Fixes #4133 Test plan --------- nayduck
pytest sanity/transactions.py --features nightly_protocol --features nightly_protocol_features
http://nayduck.eastus.cloudapp.azure.com:3000/#/test/117583
The text was updated successfully, but these errors were encountered: