{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/14079","repository_url":"https://api.github.com/repos/apache/spark","labels_url":"https://api.github.com/repos/apache/spark/issues/14079/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/14079/comments","events_url":"https://api.github.com/repos/apache/spark/issues/14079/events","html_url":"https://github.com/apache/spark/pull/14079","id":164189047,"number":14079,"title":"[SPARK-8425][CORE] New Blacklist Mechanism","user":{"login":"squito","id":71240,"avatar_url":"https://avatars.githubusercontent.com/u/71240?v=3","gravatar_id":"","url":"https://api.github.com/users/squito","html_url":"https://github.com/squito","followers_url":"https://api.github.com/users/squito/followers","following_url":"https://api.github.com/users/squito/following{/other_user}","gists_url":"https://api.github.com/users/squito/gists{/gist_id}","starred_url":"https://api.github.com/users/squito/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/squito/subscriptions","organizations_url":"https://api.github.com/users/squito/orgs","repos_url":"https://api.github.com/users/squito/repos","events_url":"https://api.github.com/users/squito/events{/privacy}","received_events_url":"https://api.github.com/users/squito/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2016-07-06T22:26:00Z","updated_at":"2016-07-14T23:49:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/14079","html_url":"https://github.com/apache/spark/pull/14079","diff_url":"https://github.com/apache/spark/pull/14079.diff","patch_url":"https://github.com/apache/spark/pull/14079.patch"},"body":"## What changes were proposed in this pull request?\r\n\r\nThis adds a blacklisting mechanism for Spark to handle bad executors and nodes, eg. for when a disk fails.  Previously there was an undocumented blacklisting mechanism, but it was very limited.  This supports blacklisting individual tasks on an executor, executors and nodes for an entire stage, and executors and nodes across an entire spark application.  Full details are in a design doc attached to the jira.\r\n\r\n## How was this patch tested?\r\n\r\nAdded unit tests, ran them via Jenkins, also ran a handful of them in a loop to check for flakiness.\r\n\r\nThe added tests include:\r\n* verifying BlacklistTracker works correctly\r\n* verifying TaskSchedulerImpl interacts with BlacklistTracker correctly (via a mock BlacklistTracker)\r\n* an integration test for the entire scheduler with blacklisting in a few different scenarios\r\n\r\nTODO\r\n- [ ] More testing on a real cluster\r\n- [x] Fix & test handling of shuffle-fetch failures\r\n- [x] Fix & test single task failure on a bad node should not trigger job failure\r\n- [ ] Documentation"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/232824658","html_url":"https://github.com/apache/spark/pull/14079#issuecomment-232824658","issue_url":"https://api.github.com/repos/apache/spark/issues/14079","id":232824658,"user":{"login":"SparkQA","id":8108735,"avatar_url":"https://avatars.githubusercontent.com/u/8108735?v=3","gravatar_id":"","url":"https://api.github.com/users/SparkQA","html_url":"https://github.com/SparkQA","followers_url":"https://api.github.com/users/SparkQA/followers","following_url":"https://api.github.com/users/SparkQA/following{/other_user}","gists_url":"https://api.github.com/users/SparkQA/gists{/gist_id}","starred_url":"https://api.github.com/users/SparkQA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SparkQA/subscriptions","organizations_url":"https://api.github.com/users/SparkQA/orgs","repos_url":"https://api.github.com/users/SparkQA/repos","events_url":"https://api.github.com/users/SparkQA/events{/privacy}","received_events_url":"https://api.github.com/users/SparkQA/received_events","type":"User","site_admin":false},"created_at":"2016-07-14T23:49:10Z","updated_at":"2016-07-14T23:49:10Z","body":"**[Test build #62351 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/62351/consoleFull)** for PR 14079 at commit [`7aff08a`](https://github.com/apache/spark/commit/7aff08a52099334eb6ac242c7ba70a9873aef624).\n * This patch passes all tests.\n * This patch merges cleanly.\n * This patch adds no public classes."}}
{"actor":{"display_login":"SparkQA"}}