Ivan Vilata-i-Balaguer
7351363830
Check optional value in keyring getter, hint nullable
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
ab4491d956
Draft and describe loop for mailbox send test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
f74d88cb33
Factor out peer node creation in network stress test
...
This will be useful later when stopping and restarting peer nodes in mailbox send test. I added a getter to ``P2PService`` to get its public keyring.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
9ad4f371b2
Split long line
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
0599c820be
Show min/max/avg send send delay in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
6ab5daf1c1
Report ratio to max receive timeout in network stress test
...
My computer is able to handle 50 messages per each of 20 peers with a delay ratio around 3. With 100 messages or 50 peers, receiving times out even if we wait 10 times the ideal max timeout.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
d9f00e6627
Wait more for message reception in network stress test
...
If we wait for too little there are lots of connection refused errors when stopping nodes.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
9e61f1f3db
Some comments on peer creation in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
acb31003ed
Set maximum connections to seed node in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
a9efa4ec15
Print network stress test steps to help locating the source of warnings
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
8eefecdc9c
Report pending latch counts on network stress test timeouts
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
97e6b942d3
Customize direct message count per peer from environment variable
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
e7e45f497e
Use plain system milliseconds instead of instants and durations
...
For consistency with the rest of the stress test.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
987b28e4e2
Use parameter-based timeouts for direct messages in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
ec216a8702
Fix direct message loop in network stress test
...
The logic was broken and all sends where packed in the same (min delay, max delay) period. Now a variable ensures that the random delay gets added to the previous time.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
6c188e35fa
Send direct messages in network stress test in a loop
...
Actually each peer runs a loop to setup messages to be sent in the future with a random delay.
This is an actual stress test for the first time. Maybe the timeouts should be adjusted accordingly.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
c8e3c6d11a
Random delay when sending direct message in network stress test
...
The delay is always longer than the one that triggers throttling. It makes not much sense for a single sending, but it will within a loop.
Also made some ``Connection`` throttle constants package-private so they can be accessed by tests.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
da145435a1
Keep destination peer address in a variable
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
109a71cd7f
Minor changes to comments and printed messages
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
53901ba798
Configure all peers once to receive direct messages in network stress test
...
Instead on adding a listener once per selected random destination peer.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
3e34d23b9e
Convert print instruction to use helper method
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
9505a28ccc
Print message receiving and sending times in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
b8d49e44b6
Send direct messages from all peers to random ones in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
97722a6ecd
Check direct message receiving side in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
30dd7f0f88
Change content of network stress test messages
...
Otherwise the destination node can have a hard time checking its content.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
2d9ed390f0
Partial direct send/receive test between two peers in network stress test
...
Still need to implement checks on the receiving side.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
9f728c19c3
Check minimum peers in network stress test
...
In preparation for direct send message test.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
a99c0ffc07
Keep Tor hidden service key when preserving network stress test data
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
a9973808b2
Make the number of peers in network stress test selectable with environment variable
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
bfbda2c38e
Turn detailed logging of network stress test into a constant
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
d439058392
Check that network stress test data directory variable is not empty
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
f100ef6384
Only keep peer keys when reusing network stress test directory
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
6c5c3371e6
Rename "temporary" to "test data" directory in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
b02c5bf2be
Move test data removal logic to instance method
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
e12d61d026
Keep network stress test data if environment variable `STRESS_TEST_DIR
` is specified
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
3a7359247b
Use sequentially named directories for peers in network stress test
...
This may allow to reuse the directory (to avoid regenerating keys, basically).
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
b3932d0bf4
Separate seed and peer listeners in network stress test
...
In this way we ensure that latches are not accidentally modified if the semantics on callbacks change, so we may be more sure that latch initial values are ok.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
1910b66aef
Wait for peer nodes bootstrap in network stress test
...
Once it threw a ``ConcurrentModificationException`` while shutting down but I've not been able to reproduce it, so keep an eye on it happening again.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
fe9b3ec5f6
Use localhost port ending in net id digit
...
Otherwise ``SeedNodesRepository`` ignores the address and peers fail to connect to the seed node.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
59f66f8ef9
Some comments to separate declarations
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
1f2d755c64
Check reception of preliminary data in peers in network stress test
...
Need to check that the seed node boots first to avoid spurious failures.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
a2d130219c
Rename latch and failure variables in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
f4aa8480f7
Fix removal of temporary directory in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
29c72cdc49
Create peer keys in network stress test
...
We should keep an eye on the setup phase getting too slow (and eating the computer's randomness) because of the generation of peer keys.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
67e68cca85
Add creation of peer nodes to network stress test
...
Only one peer for the moment, still not working since no encryption service and key ring are created.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
f7625796c8
Tune creation of seed node address in network stress test
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
f238870bce
Extract constant with regtest network id
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
30e980748d
Make methods for seed node address and setup listener creation
...
This will ease redefining node type (Tor or localhost) and creating more nodes that can report setup result.
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
2c61596871
Add property to check if network stress test thread report setup failure
2016-05-17 09:13:28 +02:00
Ivan Vilata-i-Balaguer
9c58d9f740
Minor changes to network stress test
...
I was going to override the ``runBare()`` method to cleanup on ``setUp()`` failures, but ``tearDown()`` is called all the same.
2016-05-17 09:13:28 +02:00