{"action":"created","issue":{"url":"https://api.github.com/repos/schweikert/fping/issues/32","repository_url":"https://api.github.com/repos/schweikert/fping","labels_url":"https://api.github.com/repos/schweikert/fping/issues/32/labels{/name}","comments_url":"https://api.github.com/repos/schweikert/fping/issues/32/comments","events_url":"https://api.github.com/repos/schweikert/fping/issues/32/events","html_url":"https://github.com/schweikert/fping/issues/32","id":8274534,"number":32,"title":"Discard ping replies if rtt larger than timeout (-t)","user":{"login":"zalexua","id":273254,"avatar_url":"https://avatars2.githubusercontent.com/u/273254?v=4","gravatar_id":"","url":"https://api.github.com/users/zalexua","html_url":"https://github.com/zalexua","followers_url":"https://api.github.com/users/zalexua/followers","following_url":"https://api.github.com/users/zalexua/following{/other_user}","gists_url":"https://api.github.com/users/zalexua/gists{/gist_id}","starred_url":"https://api.github.com/users/zalexua/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zalexua/subscriptions","organizations_url":"https://api.github.com/users/zalexua/orgs","repos_url":"https://api.github.com/users/zalexua/repos","events_url":"https://api.github.com/users/zalexua/events{/privacy}","received_events_url":"https://api.github.com/users/zalexua/received_events","type":"User","site_admin":false},"labels":[{"id":49228508,"url":"https://api.github.com/repos/schweikert/fping/labels/documentation","name":"documentation","color":"207de5","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":21,"created_at":"2012-11-11T18:58:21Z","updated_at":"2018-04-09T12:25:07Z","closed_at":"2017-02-16T09:36:32Z","author_association":"NONE","body":"If I got it correctly - in \"none default\" mode (\"batch mode\" next) fping will receive and will process ECHO replies for previous requests as success till it executes last request disregarding that  replies have been received much later that specified in -t option.\n\nFor example ping to a site with long distance.\n\n```\n# time ./fping -c1 -t50 zabbix.jp\n\nzabbix.jp : xmt/rcv/%loss = 1/0/100%\n\nreal    0m0.078s\nuser    0m0.000s\nsys 0m0.000s\n\n# time ./fping -c2 -t50 zabbix.jp\nzabbix.jp : [0], 84 bytes, 175 ms (175 avg, 0% loss)\n\nzabbix.jp : xmt/rcv/%loss = 2/1/50%, min/avg/max = 175/175/175\n\nreal    0m1.079s\nuser    0m0.000s\nsys 0m0.000s\n\n\n# time ./fping -c5 -t50 zabbix.jp\nzabbix.jp : [0], 84 bytes, 174 ms (174 avg, 0% loss)\nzabbix.jp : [1], 84 bytes, 174 ms (174 avg, 0% loss)\nzabbix.jp : [2], 84 bytes, 174 ms (174 avg, 0% loss)\nzabbix.jp : [3], 84 bytes, 174 ms (174 avg, 0% loss)\n\nzabbix.jp : xmt/rcv/%loss = 5/4/20%, min/avg/max = 174/174/174\n\nreal    0m4.082s\nuser    0m0.000s\nsys 0m0.000s\n```\n\nAs we see above one last response always lost because fping finished its work before last response came. \n\nAnd with none default -p option, so two last responses are lost while first response has been catched:\n\n```\n# time ./fping -c3 -t50 -p50 zabbix.jp\nzabbix.jp : [0], 84 bytes, 174 ms (174 avg, 66% loss)\n\nzabbix.jp : xmt/rcv/%loss = 3/1/66%, min/avg/max = 174/174/174\n\nreal    0m0.178s\nuser    0m0.000s\nsys 0m0.000s\n\n\n```\n\nI'd consider this as a fping's bug because it's nasty inconsistency which depends on number of requests sent and it's absolutely not clear.\n\nI believe that timeouts in none default \"batch\" mode should work as expected disregarding on number of requests.\nSo in all my examples I should get 100% lost responses.\n"},"comment":{"url":"https://api.github.com/repos/schweikert/fping/issues/comments/379733617","html_url":"https://github.com/schweikert/fping/issues/32#issuecomment-379733617","issue_url":"https://api.github.com/repos/schweikert/fping/issues/32","id":379733617,"user":{"login":"tohojo","id":396657,"avatar_url":"https://avatars1.githubusercontent.com/u/396657?v=4","gravatar_id":"","url":"https://api.github.com/users/tohojo","html_url":"https://github.com/tohojo","followers_url":"https://api.github.com/users/tohojo/followers","following_url":"https://api.github.com/users/tohojo/following{/other_user}","gists_url":"https://api.github.com/users/tohojo/gists{/gist_id}","starred_url":"https://api.github.com/users/tohojo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tohojo/subscriptions","organizations_url":"https://api.github.com/users/tohojo/orgs","repos_url":"https://api.github.com/users/tohojo/repos","events_url":"https://api.github.com/users/tohojo/events{/privacy}","received_events_url":"https://api.github.com/users/tohojo/received_events","type":"User","site_admin":false},"created_at":"2018-04-09T12:25:07Z","updated_at":"2018-04-09T12:25:07Z","author_association":"CONTRIBUTOR","body":"So just chiming in with the inevitable \"you broke my use case\" comment: I am using fping in [Flent](https://github.com/tohojo/flent ) to measure bufferbloat, among other things. In this use case, the RTT can vary wildly within a single test, and we want to capture this. So discarding late pings is absolutely the wrong thing to do.\r\n\r\nIf I'm reading the code right, I can get the old behaviour by just passing a really large value to -t, right? Will that affect anything on old versions (when running in -c mode)?"}}
{"actor":{"display_login":"tohojo"}}