diff --git a/mllib/src/main/scala/org/apache/spark/mllib/regression/IsotonicRegression.scala b/mllib/src/main/scala/org/apache/spark/mllib/regression/IsotonicRegression.scala index 376723310c74f..90c1f5a7347bc 100644 --- a/mllib/src/main/scala/org/apache/spark/mllib/regression/IsotonicRegression.scala +++ b/mllib/src/main/scala/org/apache/spark/mllib/regression/IsotonicRegression.scala @@ -185,12 +185,11 @@ class PoolAdjacentViolators private [mllib] testData: RDD[(Double, Double, Double)], isotonic: Boolean): Seq[(Double, Double, Double)] = { - poolAdjacentViolators( - testData - .sortBy(_._2) - .cache() - .mapPartitions(it => poolAdjacentViolators(it.toArray, isotonic).toIterator) - .collect(), isotonic) + val parallelStepResult = testData + .sortBy(_._2) + .mapPartitions(it => poolAdjacentViolators(it.toArray, isotonic).toIterator) + + poolAdjacentViolators(parallelStepResult.collect(), isotonic) } }