diff --git a/core/src/main/scala/org/apache/spark/sql/execution/CoprocessorRDD.scala b/core/src/main/scala/org/apache/spark/sql/execution/CoprocessorRDD.scala index aa5c35f3f7..8f0f390c6b 100644 --- a/core/src/main/scala/org/apache/spark/sql/execution/CoprocessorRDD.scala +++ b/core/src/main/scala/org/apache/spark/sql/execution/CoprocessorRDD.scala @@ -261,7 +261,7 @@ case class RegionTaskExec(child: SparkPlan, taskCount += 1 val task = new Callable[util.Iterator[TiRow]] { override def call(): util.Iterator[TiRow] = - CoprocessIterator.getRowIterator(dagRequest.copy(), tasks, session) + CoprocessIterator.getRowIterator(dagRequest, tasks, session) } completionService.submit(task) } diff --git a/core/src/test/scala/org/apache/spark/sql/test/SharedSQLContext.scala b/core/src/test/scala/org/apache/spark/sql/test/SharedSQLContext.scala index 63093b1c23..61c8b8201b 100644 --- a/core/src/test/scala/org/apache/spark/sql/test/SharedSQLContext.scala +++ b/core/src/test/scala/org/apache/spark/sql/test/SharedSQLContext.scala @@ -19,11 +19,9 @@ package org.apache.spark.sql.test import java.io.File import java.sql.{Connection, DriverManager, Statement} -import java.util import java.util.{Locale, Properties, TimeZone} import com.pingcap.tispark.TiConfigConst.PD_ADDRESSES -import com.pingcap.tispark.TiDBOptions import com.pingcap.tispark.statistics.StatisticsManager import org.apache.spark.internal.Logging import org.apache.spark.sql._ diff --git a/tikv-client/src/main/java/com/pingcap/tikv/operation/SchemaInfer.java b/tikv-client/src/main/java/com/pingcap/tikv/operation/SchemaInfer.java index deaccb5996..c40f7f614a 100644 --- a/tikv-client/src/main/java/com/pingcap/tikv/operation/SchemaInfer.java +++ b/tikv-client/src/main/java/com/pingcap/tikv/operation/SchemaInfer.java @@ -43,7 +43,7 @@ public static SchemaInfer create(TiDAGRequest dagRequest) { } public static SchemaInfer create(TiDAGRequest dagRequest, boolean readHandle) { - return new SchemaInfer(dagRequest, readHandle); + return new SchemaInfer(dagRequest.copy(), readHandle); } private SchemaInfer(TiDAGRequest dagRequest, boolean readHandle) { diff --git a/tikv-client/src/main/java/com/pingcap/tikv/operation/iterator/CoprocessIterator.java b/tikv-client/src/main/java/com/pingcap/tikv/operation/iterator/CoprocessIterator.java index 77d921535f..a35922a7ea 100644 --- a/tikv-client/src/main/java/com/pingcap/tikv/operation/iterator/CoprocessIterator.java +++ b/tikv-client/src/main/java/com/pingcap/tikv/operation/iterator/CoprocessIterator.java @@ -71,12 +71,13 @@ public abstract class CoprocessIterator implements Iterator { */ public static CoprocessIterator getRowIterator( TiDAGRequest req, List regionTasks, TiSession session) { + TiDAGRequest dagRequest = req.copy(); return new DAGIterator( - req.buildTableScan(), + dagRequest.buildTableScan(), regionTasks, session, - SchemaInfer.create(req), - req.getPushDownType()) { + SchemaInfer.create(dagRequest), + dagRequest.getPushDownType()) { @Override public Row next() { if (hasNext()) {