Github user lirui-intel commented on the pull request: https://github.com/apache/spark/pull/892#issuecomment-45207806 I've revised the patch as @mateiz suggested: tasks will be added to corresponding lists even when preferred location is unavailable, in which case it'll also be added to pendingTasksWithNoPrefs. Later when new executor comes up, pendingTasksWithNoPrefs is re-computed to remove tasks that have available preferred locations. I also added a "waiting for new executor" period. During that period, tasks in pendingTasksWithNoPrefs will wait until we tried all other locality levels (unless they really have no constraints). After this period, tasks left in pendingTasksWithNoPrefs will be scheduled as PROCESS_LOCAL. Please help to review this, thanks.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---