Closed SaiedKazemi closed 2 years ago
Thanks for your review Stephen.
I discussed the timeout issue with Matthew Luckie back in June.
Regarding whether we should prefer daemon mode over stand-alone mode, Matthew said that there was no preference: "I don't think so. Perhaps the main thing it gets you in this scenario is that because scamper will only do a single measurement to any IP address at any one time, as a form of preventing multiple overlapping traceroutes towards a destination which might be viewed as an annoyance by the destination." Because of IP cache, we are not running multiple overlapping traceroutes so there's no issue there.
You were copied on the emails but please let me know if you can't find them.
The scamper tool used by traceroute-caller to run traceroutes can operate in two modes: stand-alone binary mode and daemon mode. In the stand-alone mode, an instance of scamper is invoked for each traceroute run. In the daemon mode, scamper is invoked once as a daemon to listen on a socket for requests. The daemon mode, however, does not work properly and times out when there are many concurrent requests. As a result, about 75% of all traceroutes were timing out. We are now running scamper in stand-alone mode and are not supporting the daemon mode anymore.
The changes were tested locally using docker-compose.
This change is![Reviewable](https://reviewable.io/review_button.svg)