{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/9640","repository_url":"https://api.github.com/repos/openshift/origin","labels_url":"https://api.github.com/repos/openshift/origin/issues/9640/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/9640/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/9640/events","html_url":"https://github.com/openshift/origin/issues/9640","id":163077829,"number":9640,"title":"[Question]: haproxy reload script may cause old haproxy process not exit","user":{"login":"AdoHe","id":1555564,"avatar_url":"https://avatars.githubusercontent.com/u/1555564?v=3","gravatar_id":"","url":"https://api.github.com/users/AdoHe","html_url":"https://github.com/AdoHe","followers_url":"https://api.github.com/users/AdoHe/followers","following_url":"https://api.github.com/users/AdoHe/following{/other_user}","gists_url":"https://api.github.com/users/AdoHe/gists{/gist_id}","starred_url":"https://api.github.com/users/AdoHe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AdoHe/subscriptions","organizations_url":"https://api.github.com/users/AdoHe/orgs","repos_url":"https://api.github.com/users/AdoHe/repos","events_url":"https://api.github.com/users/AdoHe/events{/privacy}","received_events_url":"https://api.github.com/users/AdoHe/received_events","type":"User","site_admin":false},"labels":[{"id":118251704,"url":"https://api.github.com/repos/openshift/origin/labels/kind/question","name":"kind/question","color":"cc317c","default":false},{"id":210152331,"url":"https://api.github.com/repos/openshift/origin/labels/priority/P3","name":"priority/P3","color":"fad8c7","default":false}],"state":"open","locked":false,"assignee":{"login":"smarterclayton","id":1163175,"avatar_url":"https://avatars.githubusercontent.com/u/1163175?v=3","gravatar_id":"","url":"https://api.github.com/users/smarterclayton","html_url":"https://github.com/smarterclayton","followers_url":"https://api.github.com/users/smarterclayton/followers","following_url":"https://api.github.com/users/smarterclayton/following{/other_user}","gists_url":"https://api.github.com/users/smarterclayton/gists{/gist_id}","starred_url":"https://api.github.com/users/smarterclayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarterclayton/subscriptions","organizations_url":"https://api.github.com/users/smarterclayton/orgs","repos_url":"https://api.github.com/users/smarterclayton/repos","events_url":"https://api.github.com/users/smarterclayton/events{/privacy}","received_events_url":"https://api.github.com/users/smarterclayton/received_events","type":"User","site_admin":false},"assignees":[{"login":"smarterclayton","id":1163175,"avatar_url":"https://avatars.githubusercontent.com/u/1163175?v=3","gravatar_id":"","url":"https://api.github.com/users/smarterclayton","html_url":"https://github.com/smarterclayton","followers_url":"https://api.github.com/users/smarterclayton/followers","following_url":"https://api.github.com/users/smarterclayton/following{/other_user}","gists_url":"https://api.github.com/users/smarterclayton/gists{/gist_id}","starred_url":"https://api.github.com/users/smarterclayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarterclayton/subscriptions","organizations_url":"https://api.github.com/users/smarterclayton/orgs","repos_url":"https://api.github.com/users/smarterclayton/repos","events_url":"https://api.github.com/users/smarterclayton/events{/privacy}","received_events_url":"https://api.github.com/users/smarterclayton/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2016-06-30T04:17:03Z","updated_at":"2017-02-23T19:00:50Z","closed_at":null,"body":"I am studying origin router implementation and deploying origin in our test environment and just noticed this [reload_haproxy](https://github.com/openshift/origin/blob/master/images/router/haproxy/reload-haproxy) script. The main command in this script is: `/usr/sbin/haproxy -f $config_file -p $pid_file -sf $old_pids`, origin use `-sf` option to do some graceful reload and according to HAProxy document: `HAProxy remains running as long as there is a live connection (i.e. it will not terminate an established connection)`. Suppose there are tcp services(i.e redis) or websocket in cluster, every time we reload HAProxy, the old process will not exist as the tcp connection may still be established. Thus will cause lots of haproxy processes exist after a long running. I am not sure there is a good way to fix this in HAProxy but really want to know how to improve this. @smarterclayton @pmorie please take a look. Really thanks :) \n"},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/282086979","html_url":"https://github.com/openshift/origin/issues/9640#issuecomment-282086979","issue_url":"https://api.github.com/repos/openshift/origin/issues/9640","id":282086979,"user":{"login":"ramr","id":928868,"avatar_url":"https://avatars.githubusercontent.com/u/928868?v=3","gravatar_id":"","url":"https://api.github.com/users/ramr","html_url":"https://github.com/ramr","followers_url":"https://api.github.com/users/ramr/followers","following_url":"https://api.github.com/users/ramr/following{/other_user}","gists_url":"https://api.github.com/users/ramr/gists{/gist_id}","starred_url":"https://api.github.com/users/ramr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramr/subscriptions","organizations_url":"https://api.github.com/users/ramr/orgs","repos_url":"https://api.github.com/users/ramr/repos","events_url":"https://api.github.com/users/ramr/events{/privacy}","received_events_url":"https://api.github.com/users/ramr/received_events","type":"User","site_admin":false},"created_at":"2017-02-23T19:00:50Z","updated_at":"2017-02-23T19:00:50Z","body":"The default tunnel timeout is 1 hour. So if you have websockets/tcp connections (and any time haproxy is reloaded), the old haproxy processes would \"linger\" around for that period. It can be tuned for your environment w/ an environment variable.\r\nSee: https://github.com/openshift/origin/blob/master/images/router/haproxy/conf/haproxy-config.template#L73\r\nE.g. `oc env dc/router ROUTER_DEFAULT_TUNNEL_TIMEOUT=15m # 15 mins.`\r\n\r\n@jameseck  from your gist if I am reading the columns correctly, the 8:54 ... 9:09 look to be timestamps when the process was started (correct?) and it looks to be within that interval window. "}}
{"actor":{"display_login":"ramr"}}