Skip to content
This repository has been archived by the owner on Dec 28, 2017. It is now read-only.

Equal expression involving Timestamp and constant in conditional clause results in TiExpressionException #128

Closed
birdstorm opened this issue Nov 1, 2017 · 3 comments
Assignees
Labels

Comments

@birdstorm
Copy link
Contributor

select * from t where c = '2008-02-06 14:00:00'

results in

17/11/01 16:39:20 ERROR Executor: Exception in task 0.0 in stage 25.0 (TID 25)
com.pingcap.tikv.exception.TiClientInternalException: Error Closing Store client.
	at com.pingcap.tikv.operation.SelectIterator.createClientAndSendReq(SelectIterator.java:85)
	at com.pingcap.tikv.operation.SelectIterator.readNextRegion(SelectIterator.java:100)
	at com.pingcap.tikv.operation.SelectIterator.hasNext(SelectIterator.java:115)
	at com.pingcap.tispark.TiRDD$$anon$1.hasNext(TiRDD.scala:68)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:231)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:225)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:826)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:826)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:323)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:287)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
	at org.apache.spark.scheduler.Task.run(Task.scala:99)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: com.pingcap.tikv.expression.TiExpressionException: Constant type not supported.
	at com.pingcap.tikv.expression.TiConstant.toProto(TiConstant.java:80)
	at com.pingcap.tikv.expression.TiFunctionExpression.toProto(TiFunctionExpression.java:59)
	at com.pingcap.tikv.expression.TiFunctionExpression.toProto(TiFunctionExpression.java:59)
	at com.pingcap.tikv.meta.TiSelectRequest.buildTableScan(TiSelectRequest.java:151)
	at com.pingcap.tikv.meta.TiSelectRequest.buildScan(TiSelectRequest.java:87)
	at com.pingcap.tikv.operation.SelectIterator.createClientAndSendReq(SelectIterator.java:77)
	... 18 more
17/11/01 16:39:20 WARN TaskSetManager: Lost task 0.0 in stage 25.0 (TID 25, localhost, executor driver): com.pingcap.tikv.exception.TiClientInternalException: Error Closing Store client.
	at com.pingcap.tikv.operation.SelectIterator.createClientAndSendReq(SelectIterator.java:85)
	at com.pingcap.tikv.operation.SelectIterator.readNextRegion(SelectIterator.java:100)
	at com.pingcap.tikv.operation.SelectIterator.hasNext(SelectIterator.java:115)
	at com.pingcap.tispark.TiRDD$$anon$1.hasNext(TiRDD.scala:68)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:231)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:225)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:826)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:826)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:323)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:287)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
	at org.apache.spark.scheduler.Task.run(Task.scala:99)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: com.pingcap.tikv.expression.TiExpressionException: Constant type not supported.
	at com.pingcap.tikv.expression.TiConstant.toProto(TiConstant.java:80)
	at com.pingcap.tikv.expression.TiFunctionExpression.toProto(TiFunctionExpression.java:59)
	at com.pingcap.tikv.expression.TiFunctionExpression.toProto(TiFunctionExpression.java:59)
	at com.pingcap.tikv.meta.TiSelectRequest.buildTableScan(TiSelectRequest.java:151)
	at com.pingcap.tikv.meta.TiSelectRequest.buildScan(TiSelectRequest.java:87)
	at com.pingcap.tikv.operation.SelectIterator.createClientAndSendReq(SelectIterator.java:77)
	... 18 more
@birdstorm
Copy link
Contributor Author

Possible cause: toProto() function in TiConstant.java doesn't include logic where value is of java.sql.Timestamp type.

@birdstorm birdstorm self-assigned this Nov 7, 2017
@ilovesoup
Copy link
Contributor

ilovesoup commented Nov 21, 2017

What's the status of this? @birdstorm

@ilovesoup ilovesoup added the P0 label Nov 21, 2017
@birdstorm
Copy link
Contributor Author

This issue has been fixed by #144. Closing.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants