diff --git a/blog/2023-10-27-network.md b/blog/2023-10-27-network.md new file mode 100644 index 00000000000..08e4d90512a --- /dev/null +++ b/blog/2023-10-27-network.md @@ -0,0 +1,90 @@ +--- +title: Network Team Update +slug: 2023-10-27-network +authors: coot +tags: [network] +hide_table_of_contents: false +--- + +## High-level overview of [sprint 47][sprint-47] + +### Bootstrap Peers + +We continued to review the process of bootstrap peers, see [ouroboros-network#4555] + +### CI / Tests + +We investigated our CI issues. We found a memory leak in `typed-protocols` +function used for testing codecs which triggered out of memory manager (OOM) on +some platforms ([typed-protocols#43]); we also found a bug in the connection manager which resulted in CI +`timeouts` (see [connection-manager-fix]). + +### KeepAlive client + +We found two small issues with the keep-alive client, which were addressed +by Karl Knutsson ([Cardano Foundation][CF]), [ouroboros-network#4689]. + +### Galois + +We merged two large PRs prepared by [Galois]: +* [inspect `error` call sites][ouroboros-network#4660] +* [implement micro benchmarks for `PeerMetrics`][ouroboros-network#4663] + +### Cardano Network Service Assurance (CNSA) + +Galois made the following progress on CNSA:On the Cardano Network Service Assurance (CNSA) front +* A simple [InfuxDB] database backend has been added. +* The documentation has been updated. +* Internal improvements to the code. +* Progress on a new "CSNA analysis" that provides, for each sampler node, the + block download throughput in bytes over time. + +### New CHaP Release + +We cut a new release of `ouroboros-netowrk` packages to `CHaP`: [chap#547] + +## More details + +### CI / Tests + +We improved the memory footprint of some of our tests by analysing a stream of +`IOSim` traces without retaining them, see [ouroboros-network#4696] + +As a safety measure, we introduced an upper bound for heap memory used by test +artefacts in our `nix` tests. We use `200MB` limit for all tests except for +`network-mux` tests which use `350MB` limit, see [ouroboros-network#4702]. + +We refactored one of our tests to use ephemeral ports thus allowing it to +run concurrently, see [ouroboros-network#4702]. + +We merged [ouroboros-network#4623] which fixes a bunch of test failures. +* [inbound-governor: connection leak][ouroboros-network#4694] +* [connection-manager: assertion failure][ouroboros-network#4607] +* [not released connection][ouroboros-network#4605] + +All of them were due to a bug in test logic rather than a bug in production +code. + +### Release Process + +We updated our release process & associated scripts, see +[ouroboros-network#4705]. + +[CF]: https://cardanofoundation.org/ +[Galois]: https://galois.com/ +[chap#547]: https://github.com/input-output-hk/cardano-haskell-packages/pull/547 +[connection-manager-fix]: https://github.com/input-output-hk/ouroboros-network/pull/4696/commits/010d9b2bd76356373d8c139eaedd8aea7ad90680 +[ouroboros-network#4555]: https://github.com/input-output-hk/ouroboros-network/pull/4555 +[ouroboros-network#4605]: https://github.com/input-output-hk/ouroboros-network/issues/4605 +[ouroboros-network#4607]: https://github.com/input-output-hk/ouroboros-network/issues/4607 +[ouroboros-network#4623]: https://github.com/input-output-hk/ouroboros-network/pull/4623 +[ouroboros-network#4660]: https://github.com/input-output-hk/ouroboros-network/issues/4660 +[ouroboros-network#4663]: https://github.com/input-output-hk/ouroboros-network/issues/4663 +[ouroboros-network#4689]: https://github.com/input-output-hk/ouroboros-network/issues/4689 +[ouroboros-network#4694]: https://github.com/input-output-hk/ouroboros-network/issues/4694 +[ouroboros-network#4696]: https://github.com/input-output-hk/ouroboros-network/pull/4696 +[ouroboros-network#4702]: https://github.com/input-output-hk/ouroboros-network/pull/4702 +[ouroboros-network#4705]: https://github.com/input-output-hk/ouroboros-network/pull/4705 +[sprint-47]: https://github.com/orgs/input-output-hk/projects/19/views/16?filterQuery=sprint%3A%22sprint+47%22 +[typed-protocols#43]: https://github.com/input-output-hk/typed-protocols/pull/43 +[InfluxDB]: https://www.influxdata.com/