Thomas Graves created SPARK-30417: ------------------------------------- Summary: SPARK-29976 calculation of slots wrong for Standalone Mode Key: SPARK-30417 URL: https://issues.apache.org/jira/browse/SPARK-30417 Project: Spark Issue Type: Bug Components: Spark Core Affects Versions: 3.0.0 Reporter: Thomas Graves
In SPARK-29976 we added a config to determine if we should allow speculation when the number of tasks is less then the number of slots on a single executor. The problem is that for standalone mode (and mesos coarse grained) the EXECUTOR_CORES config is not set properly by default. In those modes the number of executor cores is all the cores of the Worker. The default of EXECUTOR_CORES is 1. The calculation: {color:#000080}val {color}{color:#660e7a}speculationTasksLessEqToSlots {color}= {color:#660e7a}numTasks {color}<= ({color:#660e7a}conf{color}.get({color:#660e7a}EXECUTOR_CORES{color}) / sched.{color:#660e7a}CPUS_PER_TASK{color}) If someone set the cpus per task > 1 then this would end up being false even if 1 task. Note that the default case where cpus per task is 1 and executor cores is 1 it works out ok but is only applied if 1 task vs number of slots on the executor. Here we really don't know the number of executor cores for standalone mode or mesos so I think a decent solution is to just use 1 in those cases and document the difference. Something like max({color:#660e7a}conf{color}.get({color:#660e7a}EXECUTOR_CORES{color}) / sched.{color:#660e7a}CPUS_PER_TASK{color}, 1) -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org