{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/5812","labels_url":"https://api.github.com/repos/openshift/origin/issues/5812/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/5812/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/5812/events","html_url":"https://github.com/openshift/origin/pull/5812","id":115979575,"number":5812,"title":"Fix build-waiting logic to use polling instead of watcher","user":{"login":"mnagy","id":72469,"avatar_url":"https://avatars.githubusercontent.com/u/72469?v=3","gravatar_id":"","url":"https://api.github.com/users/mnagy","html_url":"https://github.com/mnagy","followers_url":"https://api.github.com/users/mnagy/followers","following_url":"https://api.github.com/users/mnagy/following{/other_user}","gists_url":"https://api.github.com/users/mnagy/gists{/gist_id}","starred_url":"https://api.github.com/users/mnagy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mnagy/subscriptions","organizations_url":"https://api.github.com/users/mnagy/orgs","repos_url":"https://api.github.com/users/mnagy/repos","events_url":"https://api.github.com/users/mnagy/events{/privacy}","received_events_url":"https://api.github.com/users/mnagy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/openshift/origin/milestones/10","html_url":"https://github.com/openshift/origin/milestones/1.1.1","labels_url":"https://api.github.com/repos/openshift/origin/milestones/10/labels","id":1394546,"number":10,"title":"1.1.1","description":"","creator":{"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},"open_issues":32,"closed_issues":0,"state":"open","created_at":"2015-11-04T22:47:05Z","updated_at":"2015-11-10T16:09:55Z","due_on":"2015-12-09T05:00:00Z","closed_at":null},"comments":10,"created_at":"2015-11-09T22:14:10Z","updated_at":"2015-11-10T16:16:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openshift/origin/pulls/5812","html_url":"https://github.com/openshift/origin/pull/5812","diff_url":"https://github.com/openshift/origin/pull/5812.diff","patch_url":"https://github.com/openshift/origin/pull/5812.patch"},"body":"The watcher logic is prone to not enforcing the timeout. If no event\nhappens, the build can go on for a very long time.\n\nEnforce the timeout by using polling instead. Also raise the timeout to\n30 minutes for very slow builds and make the errors more specific.\n\n@mfojtik: PTAL. In the end I decided against the channel-timeout approach we\ndiscussed because it seemed too complicated and cumbersome compared to this\napproach. I know that polling is technically inferior to watching, but this\ncode is only used in tests after all and I don't see the (probably negligible)\nperformance gains to be worth the added complexity.\n\nFixes #5728"},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/155469401","html_url":"https://github.com/openshift/origin/pull/5812#issuecomment-155469401","issue_url":"https://api.github.com/repos/openshift/origin/issues/5812","id":155469401,"user":{"login":"liggitt","id":980082,"avatar_url":"https://avatars.githubusercontent.com/u/980082?v=3","gravatar_id":"","url":"https://api.github.com/users/liggitt","html_url":"https://github.com/liggitt","followers_url":"https://api.github.com/users/liggitt/followers","following_url":"https://api.github.com/users/liggitt/following{/other_user}","gists_url":"https://api.github.com/users/liggitt/gists{/gist_id}","starred_url":"https://api.github.com/users/liggitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liggitt/subscriptions","organizations_url":"https://api.github.com/users/liggitt/orgs","repos_url":"https://api.github.com/users/liggitt/repos","events_url":"https://api.github.com/users/liggitt/events{/privacy}","received_events_url":"https://api.github.com/users/liggitt/received_events","type":"User","site_admin":false},"created_at":"2015-11-10T16:16:33Z","updated_at":"2015-11-10T16:16:33Z","body":"and handle cases where the watch expires before your timeout (and you have to re-establish the watch)"}}