High-level overview of sprint 49 & sprint 50
Fixed PeerSelection bug
Karl Knutsson (Cardano Foundation (CF)) found a bug in
the cardano-node-8.7.0
version used on the Sancho Net which was fixed in 8.7.1
.
It resulted in a node not being able to reconnect to an upstream peer once it
was demoted by an asynchronous exception. This bug would be caught by Q&A in
a mainet release, but for testnet releases, Q&A test suite is not used. We also
developed a test which covers the bug in the ouroboros-network
, we also identified
a missing PeerSelection
test which we need to port to our simulation network.
See ouroboros-network#4734, ouroboros-network#4665.
Bootstrap Peers
Still under review, ouroboros-network#4555. The consensus team is now
implementing the API we need for bootstrap peers. Once consensus API is implemented we will integrate changes in an experimental branch of
cardano-node
.
Tx-Submission
We started working on a new implementation of the tx-submission application. No
tx-submission
protocol changes are foreseen, but we want to be able to
download each tx
from just one upstream peer and share the results between
different connections. We want to distribute the bandwidth between multiple
clients. We also think that this work will prepare us for the future
Ouroboros-Leios changes, which will contain various versions of tx-submission
like mini-protocols. See ouroboros-network#4701.
Peer Sharing
Various fixes and improvements were implemented:
- disabled peer sharing with initiator-only nodes: currently it's not
possible to get peers from initiator-only nodes (edge nodes, e.g.
wallets). In the future, we might change this, which will require running
a server-side of the
peer-sharing
protocol by such nodes. See ouroboros-network#4726. - fixed
peer-sharing
codec - fixed a handshake bug which returned a wrong peer-sharing option
- disabled peer sharing with initiator-only nodes: currently it's not
possible to get peers from initiator-only nodes (edge nodes, e.g.
wallets). In the future, we might change this, which will require running
a server-side of the
- disabled
peer-sharing
forNodeToNodeV_11
andNodeToNodeV_12
- disabled
Karl Knutsson (CF) has been working on additional improvements, e.g. ouroboros-network#4735
With these fixes, Karl Knutsson (CF) was able to see that two peers on the mainnet
can discover themselves through peer-sharing
and keep being mutually useful
and thus the connection surviving outbound-governor
churn events.
IOSim
We improved the memory footprint of IOSim
in io-sim#126, see
ouroboros-network#4721 for heap profile improvements on large test cases.
We are working on optimising the memory footprint of IOSimPOR
. We are
reimplementing VectorClocks
using a trie, instead of a map which leads to
significant improvements.
Cardano-Ping
cardano-node-0.2.0.10
was released to CHaP
, ouroboros-network#4746. This
version exports more APIs which turned out to be useful in cardano-node
test
suite, see cardano-node#5536.
Technical Debt
We addressed some small tech-debt issues in ouroboros-network#4722:
- fixed some typos
- using
bracket
instead ofonException
inwithSnocket
- improved haddocks
- organised
TracePeerSelection
constructors
We improved the memory footprint of some of our tests in ouroboros-network#4721.