Hi Patrick,

I'm noticing that you're using Spark 1.3.1.  We fixed a bug in dynamic
allocation in 1.4 that permitted requesting negative numbers of executors.
Any chance you'd be able to try with the newer version and see if the
problem persists?

-Sandy

On Fri, Jun 12, 2015 at 7:42 PM, Patrick Woody <patrick.woo...@gmail.com>
wrote:

> Hey all,
>
> I've recently run into an issue where spark dynamicAllocation has asked
> for -1 executors from YARN. Unfortunately, this raises an exception that
> kills the executor-allocation thread and the application can't request more
> resources.
>
> Has anyone seen this before? It is spurious and the application usually
> works, but when this gets hit it becomes unusable when getting stuck at
> minimum YARN resources.
>
> Stacktrace below.
>
> Thanks!
> -Pat
>
> 470 ERROR [2015-06-12 16:44:39,724] org.apache.spark.util.Utils: Uncaught
> exception in thread spark-dynamic-executor-allocation-0
> 471 ! java.lang.IllegalArgumentException: Attempted to request a negative
> number of executor(s) -1 from the cluster manager. Please specify a
> positive number!
> 472 ! at
> org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend.requestTotalExecutors(CoarseGrainedSchedulerBackend.scala:338)
> ~[spark-core_2.10-1.3.1.jar:1.
> 473 ! at
> org.apache.spark.SparkContext.requestTotalExecutors(SparkContext.scala:1137)
> ~[spark-core_2.10-1.3.1.jar:1.3.1]
> 474 ! at
> org.apache.spark.ExecutorAllocationManager.addExecutors(ExecutorAllocationManager.scala:294)
> ~[spark-core_2.10-1.3.1.jar:1.3.1]
> 475 ! at
> org.apache.spark.ExecutorAllocationManager.addOrCancelExecutorRequests(ExecutorAllocationManager.scala:263)
> ~[spark-core_2.10-1.3.1.jar:1.3.1]
> 476 ! at 
> org.apache.spark.ExecutorAllocationManager.org$apache$spark$ExecutorAllocationManager$$schedule(ExecutorAllocationManager.scala:230)
> ~[spark-core_2.10-1.3.1.j
> 477 ! at
> org.apache.spark.ExecutorAllocationManager$$anon$1$$anonfun$run$1.apply$mcV$sp(ExecutorAllocationManager.scala:189)
> ~[spark-core_2.10-1.3.1.jar:1.3.1]
> 478 ! at
> org.apache.spark.ExecutorAllocationManager$$anon$1$$anonfun$run$1.apply(ExecutorAllocationManager.scala:189)
> ~[spark-core_2.10-1.3.1.jar:1.3.1]
> 479 ! at
> org.apache.spark.ExecutorAllocationManager$$anon$1$$anonfun$run$1.apply(ExecutorAllocationManager.scala:189)
> ~[spark-core_2.10-1.3.1.jar:1.3.1]
> 480 ! at
> org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1618)
> ~[spark-core_2.10-1.3.1.jar:1.3.1]
> 481 ! at
> org.apache.spark.ExecutorAllocationManager$$anon$1.run(ExecutorAllocationManager.scala:189)
> [spark-core_2.10-1.3.1.jar:1.3.1]
> 482 ! at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> [na:1.7.0_71]
> 483 ! at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
> [na:1.7.0_71]
> 484 ! at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
> [na:1.7.0_71]
> 485 ! at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> [na:1.7.0_71]
> 486 ! at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> [na:1.7.0_71]
> 487 ! at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> [na:1.7.0_71]
>

Reply via email to