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

Network update 2023-10-27 #279

Merged
merged 1 commit into from
Oct 31, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions blog/2023-10-27-network.md
Original file line number Diff line number Diff line change
@@ -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:
* 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/
Loading