Don't stall when already delivered packets are queued#2667
Don't stall when already delivered packets are queued#2667robgjansen merged 1 commit intoshadow:mainfrom
Conversation
Codecov ReportBase: 68.15% // Head: 67.43% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #2667 +/- ##
==========================================
- Coverage 68.15% 67.43% -0.72%
==========================================
Files 202 202
Lines 30289 30289
Branches 5904 5904
==========================================
- Hits 20642 20426 -216
- Misses 4972 5221 +249
+ Partials 4675 4642 -33
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
There was a problem hiding this comment.
Looks good to me! This definitely looks like the bug could cause some issues. The only thing that looks a little worrying is the transfer time graph from the benchmark, but I'm not sure what could be causing that.
Edit: Deleted two misattributed graphs.
|
@stevenengler note that the graphs you posted are for #2632, not for this PR. (The graphs you posted are from a branch that does not yet contain this fix.) I highly doubt that this PR will negatively affect performance, but could run a quick tgen to double check. |
a2c7f9c to
252f633
Compare
|
TGen benchmark confirms no change in performance: https://github.com/shadow/benchmark-results/tree/master/tgen/2023-01-15-T23-30-47 |
On slow connections, it is possible that retransmitted packets end up in the input queue multiple times. Before this change, Shadow would stall because it was looking for the
nth packet to deliver to the plugin, but the next in-order packet in the queue was then-1th packet.