Skip to content

Commit b514a4a

Browse files
committed
Network update: sprints 80 & 81
1 parent 6cdd0d0 commit b514a4a

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

blog/2025-02-19-network.md

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
title: Network Team Update
3+
slug: 2025-02-19-network
4+
authors: [coot]
5+
tags: [network]
6+
hide_table_of_contents: false
7+
---
8+
9+
## Overview of [sprint 80][sprint-80] & [sprint 81][sprint-81]
10+
11+
### Current workstream
12+
13+
We decided to hold some PRs in favour of some others to simplify the merging
14+
process. Here's a dependency graph for PRs on which we're working on. The
15+
[**Extensible Ouroboros Network Diffusion Stack**][ouroboros-network#5016] PR
16+
was the largest in our queue.
17+
18+
```mermaid
19+
flowchart TD;
20+
SRV[SRV implementation]:::open
21+
E[Mux: bind threads to a capability]:::open
22+
D[<b>Peer Selection Exports</b>]:::open
23+
C[Public Network State]:::open
24+
B[Drop NonP2P Components]:::open
25+
A[Extensible Ouroboros Network Components]:::merged
26+
MAIN[main]
27+
ouroboros-network-0.19
28+
tx[TX Submission Logic]:::open
29+
30+
31+
B-->A;
32+
C-->B;
33+
D-->B;
34+
E-->A;
35+
A-->MAIN
36+
SRV-->A;
37+
MAIN-->ouroboros-network-0.19
38+
tx-->ouroboros-network-0.19
39+
40+
click A "https://github.com/IntersectMBO/ouroboros-network/pull/5016" _blank
41+
click B "https://github.com/IntersectMBO/ouroboros-network/pull/5007" _blank
42+
click C "https://github.com/IntersectMBO/ouroboros-network/pull/5046" _blank
43+
click D "https://github.com/IntersectMBO/ouroboros-network/pull/5081" _blank
44+
click E "https://github.com/IntersectMBO/ouroboros-network/pull/5069" _blank
45+
click SRV "https://github.com/IntersectMBO/ouroboros-network/pull/5018" _blank
46+
click tx "https://github.com/IntersectMBO/ouroboros-network/pull/4887" _blank
47+
48+
classDef merged color:#000000, stroke:#8256D0, fill:#8256D0, font-weight:bold
49+
classDef open color:#000000, stroke:#347D39, fill:#347D39, font-weight:bold
50+
```
51+
52+
### Fixes which made into the on-going `cardano-node-10.2.1`
53+
54+
* We fixed the peer-sharing application to only use the negotiated
55+
`peerSharing` flag in the [`NodeToNodeVersionData`]; see
56+
[ouroboros-network#5061].
57+
* We modified `IOError` exception handling: [ouroboros-network#5076].
58+
59+
Previously, we introduced a new `IOError` handling policy due to a discussion with
60+
an SPO to make some scenarios easier to debug. After testing it (the changes
61+
never made it into a release), it turned out this could lead to attacks on the
62+
system. Thus, we advocate for better monitoring of nodes (e.g. if resources
63+
like file descriptors memory are available, the node is making progress)
64+
rather than rely on `cardano-node` to be up and running.
65+
66+
### New mux strategy for starting mini-protocols
67+
68+
[Karl Knutsson][karl] ([CF]) implemented a new strategy for starting
69+
mini-protocols, `StartOnDemandAny`. A mini-protocol which is using this
70+
strategy will be started as soon as any `StartOnDemand` (or `StartOnDemandAny`)
71+
mini-protocol receives input from the network. We will use this starting
72+
strategy for the `keep-alive` mini-protocol.
73+
74+
### Local-TX-Monitor protocol changes
75+
76+
A new query was added, which allows the retrieval of all measures/dimensions of the
77+
mempool capacity, e.g. byte-size capacity, ledger's execution units for both
78+
memory and execution steps, and reference
79+
scripts size. See [ouroboros-network#4918].
80+
81+
### Network Specification Updates
82+
83+
We made language improvements in the network specification, see
84+
[ouroboros-network#5044]; and some smaller changes/fixes
85+
[ouroboros-network#5053].
86+
87+
### Other minor changes
88+
89+
* [**Label some threads**][ouroboros-network#5050];
90+
* [**Churn no timeouts test failure**][ouroboros-network#5072];
91+
* [**Added haddocks to MiniProtocol type**][ouroboros-network#5073];
92+
93+
[sprint-80]: https://github.com/orgs/IntersectMBO/projects/5/views/1?filterQuery=sprint%3A%22Sprint+80%22
94+
[sprint-81]: https://github.com/orgs/IntersectMBO/projects/5/views/1?filterQuery=sprint%3A%22Sprint+81%22
95+
96+
[karl]: https://github.com/karknu
97+
[CF]: https://www.cardanofoundation.org/
98+
99+
[`NodeToNodeVersionData`]: https://ouroboros-network.cardano.intersectmbo.org/ouroboros-network-api/Ouroboros-Network-NodeToNode-Version.html#t:NodeToNodeVersionData
100+
101+
[ouroboros-network#4918]: https://github.com/IntersectMBO/ouroboros-network/pull/4918
102+
[ouroboros-network#5007]: https://github.com/IntersectMBO/ouroboros-network/pull/5007
103+
[ouroboros-network#5016]: https://github.com/IntersectMBO/ouroboros-network/pull/5016
104+
[ouroboros-network#5044]: https://github.com/IntersectMBO/ouroboros-network/pull/5044
105+
[ouroboros-network#5046]: https://github.com/IntersectMBO/ouroboros-network/pull/5046
106+
[ouroboros-network#5050]: https://github.com/IntersectMBO/ouroboros-network/pull/5050
107+
[ouroboros-network#5053]: https://github.com/IntersectMBO/ouroboros-network/pull/5053
108+
[ouroboros-network#5061]: https://github.com/IntersectMBO/ouroboros-network/pull/5061
109+
[ouroboros-network#5072]: https://github.com/IntersectMBO/ouroboros-network/pull/5072
110+
[ouroboros-network#5073]: https://github.com/IntersectMBO/ouroboros-network/pull/5073
111+
[ouroboros-network#5076]: https://github.com/IntersectMBO/ouroboros-network/pull/5076

0 commit comments

Comments
 (0)