Dev Update - Week Beginning 14th July 2014


#1

Hi Everyone,

Here is your weekly update, as you know TestNet 1 is alive and kicking, so most of this weeks update will focus on the improvements that we are doing and boy are we getting good results.


RUDP improvement - TestNet1

RUDP used to only be able to form new connections under even minor packet loss about 20% of the time. As some packet loss occurs on any network, this was significantly increasing  the TestNet formation time. This has been improved to a 96% success rate under 1% packet loss and a 90% success rate under 50% packet loss. I believe these figures can be improved still further as they are still not optimal, work proceeds.


The nVidia Tegra K1 with quad-core ARM Cortex A15 board is now fully configured and runs the same nightly suite of unit soak tests as the Intel CI test slaves do - I believe this is the first time we are doing so on ARM. The ARM test target shows that some tests fail regularly on ARM where they are merely only unstable on Intel, the different timings of the ARM target will be useful.


Client API - TestNet 1

We have updated and tested nearly all libraries and tools affected by bootstrap and Routing API changes. Couple of minor updates are yet pending and we aim to merge the changes to next branch shortly.


Visualiser improvement - TestNet 1

Added ability to reproduce some random test failures reliably every run by making the main testing psuedo random number generator settable/gettable.  Added Visualiser Session ID to VLOG messages, allowing vaults reporting to the Visualiser to “belong” to a particular session only (i.e. allows the Visualiser to support multiple concurrent but separate networks).  Downgraded the sending of hostname in VLOG messages to be off by default.


General improvements

Refactor of the self encrypt library to provide better type safety and reliability. So far removed openmp requirement, added a cache object (managed and internally synchronized). Removed google DEATH tests and updated gtest/gmock and protobuf code to adhere fix some sanitizer related issues with thread race conditions and out of bounds checking.


Testnet1 - Approach / Preparation

While debugging TestNet setup issues, we have also identified some bugs in local network controller and Routing. Next week we will focus mainly on resolving TestNet bugs.