Skip to content
This repository has been archived by the owner on Jan 22, 2025. It is now read-only.

adds fallback logic if retransmit multicast fails (backport #17714) #17742

Merged
merged 1 commit into from
Jun 4, 2021

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jun 4, 2021

This is an automatic backport of pull request #17714 done by Mergify.


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.io/

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

(cherry picked from commit be957f2)
@mergify mergify bot added automerge Merge this Pull Request automatically once CI passes and removed automerge Merge this Pull Request automatically once CI passes labels Jun 4, 2021
@mergify
Copy link
Contributor Author

mergify bot commented Jun 4, 2021

automerge label removed due to a CI failure

@mergify mergify bot added the automerge Merge this Pull Request automatically once CI passes label Jun 4, 2021
@codecov
Copy link

codecov bot commented Jun 4, 2021

Codecov Report

Merging #17742 (936433a) into v1.7 (ae42413) will decrease coverage by 0.0%.
The diff coverage is 55.0%.

@@            Coverage Diff            @@
##             v1.7   #17742     +/-   ##
=========================================
- Coverage    82.6%    82.6%   -0.1%     
=========================================
  Files         431      431             
  Lines      119718   119725      +7     
=========================================
- Hits        98941    98927     -14     
- Misses      20777    20798     +21     

@mergify mergify bot merged commit 0de1ce0 into v1.7 Jun 4, 2021
@mergify mergify bot deleted the mergify/bp/v1.7/pr-17714 branch June 4, 2021 16:21
@brooksprumo brooksprumo mentioned this pull request Aug 23, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
automerge Merge this Pull Request automatically once CI passes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant