The DA (Data Availability) system includes three protocols implemented as individual libp2p behaviors. All three behaviors share the same connection between peers, creating a need for coordinated connection management to avoid conflicts and unnecessary closures.
Certain errors occurring in the data availability (DA) layer are unrelated to connection management but rather stem from issues within the data or the state of the network itself. These errors should be handled differently from connection failures to ensure proper error reporting and system reliability.
{
"message": "Error while sampling: Stream disconnected: unexpected end of file",
"_spans": [
"handle_sampling_message"
],
"_target": "nomos_da_sampling",
"_module_path": "nomos_da_sampling",
"_file": "nomos-services/data-availability/sampling/src/lib.rs",
"_line": 147
}
Happens because stream is not closed gracefully on the remote peer after dispersal response is returned
{
"message": "Error while sampling: Dispersal response error: SampleError { blob_id: [69, 247, 227, 223, 139, 8, 202, 127, 121, 120, 241, 208, 7, 151, 134, 235, 116, 204, 69, 92, 217, 178, 95, 42, 194, 13, 205, 208, 55, 200, 161, 167], error_type: NotFound, error_description: \\"Sample not found\\" }",
"_spans": [
"handle_sampling_message"
],
"_target": "nomos_da_sampling",
"_module_path": "nomos_da_sampling",
"_file": "nomos-services/data-availability/sampling/src/lib.rs",
"_line": 147
}