solana/core
behzad nouri be957f25c9
adds fallback logic if retransmit multicast fails (#17714)
In retransmit-stage, based on the packet.meta.seed and resulting
children/neighbors, each packet is sent to a different set of peers:
https://github.com/solana-labs/solana/blob/708bbcb00/core/src/retransmit_stage.rs#L421-L457

However, current code errors out as soon as a multicast call fails,
which will skip all the remaining packets:
https://github.com/solana-labs/solana/blob/708bbcb00/core/src/retransmit_stage.rs#L467-L470

This can exacerbate packets loss in turbine.

This commit:
  * keeps iterating over retransmit packets for loop even if some
    intermediate sends fail.
  * adds a fallback to UdpSocket::send_to if multicast fails.

Recent discord chat:
https://discord.com/channels/428295358100013066/689412830075551748/849530845052403733
2021-06-04 12:16:37 +00:00
..
benches Cost Model to limit transactions which are not parallelizeable (#16694) 2021-06-01 09:16:17 -05:00
src adds fallback logic if retransmit multicast fails (#17714) 2021-06-04 12:16:37 +00:00
tests Avoid full-range compactions with periodic filtered b.g. ones (#16697) 2021-05-28 16:42:56 +09:00
.gitignore
Cargo.toml chore: bump serial_test from 0.4.0 to 0.5.1 (#17705) 2021-06-03 10:07:56 -06:00
build.rs