Github user kayousterhout commented on a diff in the pull request:

    https://github.com/apache/spark/pull/15604#discussion_r94504259
  
    --- Diff: core/src/test/scala/org/apache/spark/scheduler/PoolSuite.scala ---
    @@ -178,4 +180,97 @@ class PoolSuite extends SparkFunSuite with 
LocalSparkContext {
         scheduleTaskAndVerifyId(2, rootPool, 6)
         scheduleTaskAndVerifyId(3, rootPool, 2)
       }
    +
    +  test("SPARK-18066: FIFO Scheduler just uses root pool") {
    +    sc = new SparkContext("local", "PoolSuite")
    +    val taskScheduler = new TaskSchedulerImpl(sc)
    +
    +    val rootPool = new Pool("", SchedulingMode.FIFO, initMinShare = 0, 
initWeight = 0)
    +    val schedulableBuilder = new FIFOSchedulableBuilder(rootPool)
    +
    +    val taskSetManager0 = createTaskSetManager(stageId = 0, numTasks = 1, 
taskScheduler)
    +    val taskSetManager1 = createTaskSetManager(stageId = 1, numTasks = 1, 
taskScheduler)
    +
    +    val properties = new Properties()
    +    properties.setProperty("spark.scheduler.pool", TEST_POOL)
    +
    +    // FIFOSchedulableBuilder just uses rootPool so even if properties are 
set, related pool
    +    // (testPool) is not created and TaskSetManagers are added to rootPool
    +    schedulableBuilder.addTaskSetManager(taskSetManager0, properties)
    +    schedulableBuilder.addTaskSetManager(taskSetManager1, properties)
    +
    +    assert(rootPool.getSchedulableByName(TEST_POOL) == null)
    +    assert(rootPool.schedulableQueue.size == 2)
    +    assert(rootPool.getSchedulableByName(taskSetManager0.name) === 
taskSetManager0)
    +    assert(rootPool.getSchedulableByName(taskSetManager1.name) === 
taskSetManager1)
    +  }
    +
    +  test("SPARK-18066: FAIR Scheduler uses default pool when 
spark.scheduler.pool property is not " +
    +    "set") {
    +    sc = new SparkContext("local", "PoolSuite")
    +    val taskScheduler = new TaskSchedulerImpl(sc)
    +
    +    val rootPool = new Pool("", SchedulingMode.FAIR, initMinShare = 0, 
initWeight = 0)
    +    val schedulableBuilder = new FairSchedulableBuilder(rootPool, sc.conf)
    +    schedulableBuilder.buildPools()
    +
    +    // FAIR Scheduler uses default pool when pool properties are null
    --- End diff --
    
    super nit with commenting, but can you eliminate the blank lines on 219 and 
221 (which don't help readability) and change this comment to something like
    
    "Submit a new task set manager with pool properties set to null. This 
should result in the task set manager getting added to the default pool."
    
    (it's helpful in test comments to be clear about what the test is doing 
itself, versus the expected behavior it's verifying)


---
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 [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to