corda/experimental
Viktor Kolomeyko ad981c7f13
ENT-2569: Integration test to simulate FlowWorker restart. (#1463)
* ENT-2569: Integration test to simulate Rpc/FlowWorker restart.

Initial analysis shows that 15-25 MB cannot be accounted for after RpcWorker restart.
Please see below for stats sample.
I will need to run memory profiler to understand where the memory is going.

Sample 1:
```
Memory stats @Very beginning - Used memory: 66,167 KB, Total memory: 1,158,144 KB, Max memory: 7,414,784 KB
Memory stats @Between restarts - Used memory: 214,952 KB, Total memory: 3,228,160 KB, Max memory: 7,414,784 KB
Memory stats @Very end - Used memory: 231,285 KB, Total memory: 3,226,112 KB, Max memory: 7,414,784 KB
```

Sample 2:
```
Memory stats @Very beginning - Used memory: 65,649 KB, Total memory: 1,125,376 KB, Max memory: 7,414,784 KB
Memory stats @Between restarts - Used memory: 202,542 KB, Total memory: 3,390,976 KB, Max memory: 7,414,784 KB
Memory stats @Very end - Used memory: 217,969 KB, Total memory: 3,387,392 KB, Max memory: 7,414,784 KB
```

* ENT-2569: Repair FlowWorkerTest and make it use signed network parameters.

* ENT-2569: Take flow worker up and down multiple times.

* ENT-2569: Add memory consumption stats.

Sample output for 10 iterations (1 warm-up and 9 subsequent):
```
Memory stats @Very beginning - Used memory: 126,495 KB, Total memory: 1,599,488 KB, Max memory: 7,416,832 KB
Memory stats @After warm-up round - Used memory: 172,411 KB, Total memory: 2,096,128 KB, Max memory: 7,416,832 KB
Memory stats @Testing done - Used memory: 196,912 KB, Total memory: 2,213,376 KB, Max memory: 7,416,832 KB
```
So during 9 iterations/restart cycles we have lost ~25MB.

* ENT-2569: Re-structure the test in preparation for 2nd legal name.

* ENT-2569: Mote test re-structure.

* ENT-2569: Introduce BankB into the test scenario.
2018-10-12 13:51:11 +01:00
..

Experimental module

The purpose of this module is to hold code that isn't yet ready for code review, but which still wants to be refactored and kept compiling as the underlying platform changes. Code placed into experimental must eventually either be moved into the main modules and go through code review, or be deleted.

Code placed here can be committed to directly onto master at any time as long as it doesn't break the build (no compile failures or unit test failures). Any commits here that break the build will simply be rolled back.

To help reduce the build times, unit tests for experimental projects have been disabled and will NOT run alongside the whole project tests run via Gradle. Add parameter experimental.test.enable (example command is gradlew test -Dexperimental.test.enable to enable those tests.