{"action":"created","issue":{"url":"https://api.github.com/repos/citusdata/citus/issues/563","repository_url":"https://api.github.com/repos/citusdata/citus","labels_url":"https://api.github.com/repos/citusdata/citus/issues/563/labels{/name}","comments_url":"https://api.github.com/repos/citusdata/citus/issues/563/comments","events_url":"https://api.github.com/repos/citusdata/citus/issues/563/events","html_url":"https://github.com/citusdata/citus/pull/563","id":157618718,"number":563,"title":"Fix/345 task cleanup logic","user":{"login":"mtuncer","id":9413470,"avatar_url":"https://avatars.githubusercontent.com/u/9413470?v=3","gravatar_id":"","url":"https://api.github.com/users/mtuncer","html_url":"https://github.com/mtuncer","followers_url":"https://api.github.com/users/mtuncer/followers","following_url":"https://api.github.com/users/mtuncer/following{/other_user}","gists_url":"https://api.github.com/users/mtuncer/gists{/gist_id}","starred_url":"https://api.github.com/users/mtuncer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtuncer/subscriptions","organizations_url":"https://api.github.com/users/mtuncer/orgs","repos_url":"https://api.github.com/users/mtuncer/repos","events_url":"https://api.github.com/users/mtuncer/events{/privacy}","received_events_url":"https://api.github.com/users/mtuncer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-31T08:40:53Z","updated_at":"2016-05-31T10:41:04Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/citusdata/citus/pulls/563","html_url":"https://github.com/citusdata/citus/pull/563","diff_url":"https://github.com/citusdata/citus/pull/563.diff","patch_url":"https://github.com/citusdata/citus/pull/563.patch"},"body":"Changed task cleanup logic to remove one large sleep and replaced that with multiple small sleeps until a predetermined timeout occurs.\r\n\r\nWe used to wait for 150 milliseconds or twice the RemoteTaskCheckInterval whichever is larger before checking if task cleanup job is sent to worker. This approach had problems when there is a load on the master. Cleanup jobs were never delivered to worker, and resources for the job were never released. It had 2 consequences, 1 - warning on the master about job not being cleaned. 2- more importantly, worker run out of shared memory since resources were not reclaimed.\r\n\r\nNow it is changed to give more chances to master to deliver the cleanup task. We check every 10 milliseconds until we reach a timeout of Max(200 milliseconds or 2xRemoteTaskCheckInterval). \r\n\r\nIncreasing minimum timeout will not have adverse affect on query performance since it is the worse case scenario, most cleanup tasks will be sent before that and we will wait way less than before.\r\n\r\nfixes #345 \r\n\r\nCR : not determined yet\r\n"},"comment":{"url":"https://api.github.com/repos/citusdata/citus/issues/comments/222653247","html_url":"https://github.com/citusdata/citus/pull/563#issuecomment-222653247","issue_url":"https://api.github.com/repos/citusdata/citus/issues/563","id":222653247,"user":{"login":"mtuncer","id":9413470,"avatar_url":"https://avatars.githubusercontent.com/u/9413470?v=3","gravatar_id":"","url":"https://api.github.com/users/mtuncer","html_url":"https://github.com/mtuncer","followers_url":"https://api.github.com/users/mtuncer/followers","following_url":"https://api.github.com/users/mtuncer/following{/other_user}","gists_url":"https://api.github.com/users/mtuncer/gists{/gist_id}","starred_url":"https://api.github.com/users/mtuncer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtuncer/subscriptions","organizations_url":"https://api.github.com/users/mtuncer/orgs","repos_url":"https://api.github.com/users/mtuncer/repos","events_url":"https://api.github.com/users/mtuncer/events{/privacy}","received_events_url":"https://api.github.com/users/mtuncer/received_events","type":"User","site_admin":false},"created_at":"2016-05-31T10:41:04Z","updated_at":"2016-05-31T10:41:04Z","body":"@marcocitus  I was hesitant to put unbounded block there. @ozgune do you agree on blocking ?"}}
{"actor":{"display_login":"mtuncer"}}