From 47d33278af0a253f166e7a98aad8e0573f743dc4 Mon Sep 17 00:00:00 2001 From: Reynold Xin Date: Tue, 25 Mar 2014 22:16:59 -0700 Subject: [PATCH] Copy tuples in Limit before shuffle. --- .../scala/org/apache/spark/sql/execution/basicOperators.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/basicOperators.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/basicOperators.scala index 5e2f3d91bd410..b815e1f2cd2fd 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/basicOperators.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/basicOperators.scala @@ -76,7 +76,7 @@ case class Limit(limit: Int, child: SparkPlan)(@transient sc: SparkContext) exte override def execute() = { child.execute() - .mapPartitions(_.take(limit)) + .mapPartitions(_.take(limit).map(_.copy())) .coalesce(1, shuffle = true) .mapPartitions(_.take(limit)) }