Should a bootstrap node always respond to new nodes by simply accepting connections from the new node, exchanging peer IDs, and then disconnecting?
Imagine in a congested network, the bootstrap node itself might have the maximum number of connections. In our network, which consists of more than 150 nodes, this situation can occur frequently. I can easily reproduce it; just try to connect to a bootstrap node that I know is busy. All connections fail with the following error message:
Failed to dial: failed to dial 12D3Koo...: all dials failed\n * [/ip4/xx.xx.xx.xx/tcp/xx] failed to negotiate security protocol: read tcp4 192.168.0.xx:xx->xx.xx.xx.xx:xx: read: connection reset by peer"
The expected behavior is that I should somehow be able to obtain information about other peers from the bootstrap node. Otherwise, if all bootstrap nodes are busy, we end up with a closed network. It doesn’t make sense.
Anything we missed on the implementation?