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

Add a mode to stress.py that drops a percentage of packets #3105

Closed
SkidanovAlex opened this issue Aug 7, 2020 · 1 comment · Fixed by #3189
Closed

Add a mode to stress.py that drops a percentage of packets #3105

SkidanovAlex opened this issue Aug 7, 2020 · 1 comment · Fixed by #3189
Assignees

Comments

@SkidanovAlex
Copy link
Collaborator

No description provided.

@SkidanovAlex
Copy link
Collaborator Author

SkidanovAlex commented Aug 12, 2020

Should be built on top of #3050

@SkidanovAlex SkidanovAlex assigned SkidanovAlex and unassigned mfornet Aug 16, 2020
SkidanovAlex added a commit that referenced this issue Aug 16, 2020
1. Removing the limit on 50 transactions per batch. It was needed when we had a bug that hangs if the tx doesn't exist, and is no longer needed;
2. Adding a new mode that drops a percentage of packets (fixes #3105);
3. Disabling the check for not deleting the same object within a transaction, until #3169 is fixed. After (1) above it crashes stress.py 3 out of 4 times, preventing it from getting to the (potential) real issues;
4. Increasing the epoch to 25 blocks, so that in the time it takes to send all the transactions and wait for the balances in the `local_network` mode ((15+20) * 2 = 70 seconds, which is approx 100 blocks) five epochs do not pass, and the transactions results are not garbage collected
SkidanovAlex added a commit that referenced this issue Aug 16, 2020
1. Removing the limit on 50 transactions per batch. It was needed when we had a bug that hangs if the tx doesn't exist, and is no longer needed;
2. Adding a new mode that drops a percentage of packets (fixes #3105);
3. Disabling the check for not deleting the same object within a transaction, until #3169 is fixed. After (1) above it crashes stress.py 3 out of 4 times, preventing it from getting to the (potential) real issues;
4. Increasing the epoch to 25 blocks, so that in the time it takes to send all the transactions and wait for the balances in the `local_network` mode ((15+20) * 2 = 70 seconds, which is approx 100 blocks) five epochs do not pass, and the transactions results are not garbage collected
5. Enabling `local_network` in default nayduck runs. Also enabling a mode without shutting down nodes and interfering with the network, in which more invariants are checked (e.g. the transactions loss tolerance is lower)

Test plan:
---------
With (3) above the test becomes relatively stable (but still flaky). local_network and node_restart modes:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/122
SkidanovAlex added a commit that referenced this issue Aug 17, 2020
1. Removing the limit on 50 transactions per batch. It was needed when we had a bug that hangs if the tx doesn't exist, and is no longer needed;
2. Adding a new mode that drops a percentage of packets (fixes #3105);
3. Disabling the check for not deleting the same object within a transaction, until #3169 is fixed. After (1) above it crashes stress.py 3 out of 4 times, preventing it from getting to the (potential) real issues;
4. Increasing the epoch to 25 blocks, so that in the time it takes to send all the transactions and wait for the balances in the `local_network` mode ((15+20) * 2 = 70 seconds, which is approx 100 blocks) five epochs do not pass, and the transactions results are not garbage collected
5. Enabling `local_network` in default nayduck runs. Also enabling a mode without shutting down nodes and interfering with the network, in which more invariants are checked (e.g. the transactions loss tolerance is lower)

Test plan:
---------
With (3) above the test becomes relatively stable (but still flaky). local_network and node_restart modes:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/122

Tests without any interference, and with packages_drop:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/128
SkidanovAlex added a commit that referenced this issue Aug 17, 2020
1. Removing the limit on 50 transactions per batch. It was needed when we had a bug that hangs if the tx doesn't exist, and is no longer needed;
2. Adding a new mode that drops a percentage of packets (fixes #3105);
3. Disabling the check for not deleting the same object within a transaction, until #3169 is fixed. After (1) above it crashes stress.py 3 out of 4 times, preventing it from getting to the (potential) real issues;
4. Increasing the epoch to 25 blocks, so that in the time it takes to send all the transactions and wait for the balances in the `local_network` mode ((15+20) * 2 = 70 seconds, which is approx 100 blocks) five epochs do not pass, and the transactions results are not garbage collected
5. Enabling `local_network` in default nayduck runs. Also enabling a mode without shutting down nodes and interfering with the network, in which more invariants are checked (e.g. the transactions loss tolerance is lower)

Test plan:
---------
With (3) above the test becomes relatively stable (but still flaky). local_network and node_restart modes:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/122

Tests without any interference, and with packages_drop:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/128
SkidanovAlex added a commit that referenced this issue Aug 17, 2020
1. Removing the limit on 50 transactions per batch. It was needed when we had a bug that hangs if the tx doesn't exist, and is no longer needed;
2. Adding a new mode that drops a percentage of packets (fixes #3105);
3. Disabling the check for not deleting the same object within a transaction, until #3169 is fixed. After (1) above it crashes stress.py 3 out of 4 times, preventing it from getting to the (potential) real issues;
4. Increasing the epoch to 25 blocks, so that in the time it takes to send all the transactions and wait for the balances in the `local_network` mode ((15+20) * 2 = 70 seconds, which is approx 100 blocks) five epochs do not pass, and the transactions results are not garbage collected
5. Enabling `local_network` in default nayduck runs. Also enabling a mode without shutting down nodes and interfering with the network, in which more invariants are checked (e.g. the transactions loss tolerance is lower)

Test plan:
---------
With (3) above the test becomes relatively stable (but still flaky). local_network and node_restart modes:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/122

Tests without any interference, and with packages_drop:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/128
bowenwang1996 pushed a commit that referenced this issue Aug 17, 2020
1. Removing the limit on 50 transactions per batch. It was needed when we had a bug that hangs if the tx doesn't exist, and is no longer needed;
2. Adding a new mode that drops a percentage of packets (fixes #3105);
3. Disabling the check for not deleting the same object within a transaction, until #3169 is fixed. After (1) above it crashes stress.py 3 out of 4 times, preventing it from getting to the (potential) real issues;
4. Increasing the epoch to 25 blocks, so that in the time it takes to send all the transactions and wait for the balances in the `local_network` mode ((15+20) * 2 = 70 seconds, which is approx 100 blocks) five epochs do not pass, and the transactions results are not garbage collected
5. Enabling `local_network` in default nayduck runs. Also enabling a mode without shutting down nodes and interfering with the network, in which more invariants are checked (e.g. the transactions loss tolerance is lower)

Test plan:
---------
With (3) above the test becomes relatively stable (but still flaky). local_network and node_restart modes:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/122

Tests without any interference, and with packages_drop:
http://nayduck.eastus.cloudapp.azure.com:3000/#/run/128
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

Successfully merging a pull request may close this issue.

2 participants