This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch kylin-on-parquet-v2
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 8e6c90accf7e852c90158f7439a6d3bc48c5732b
Author: Zhichao Zhang <441586...@qq.com>
AuthorDate: Wed Aug 12 11:19:45 2020 +0800

    KYLIN-4516 Fix 'next on empty iterator' error
    
    When 'scanRows' is a empty list, it will throw 'next on empty interator' 
error.
---
 .../main/scala/org/apache/kylin/query/runtime/plans/ResultPlan.scala  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/plans/ResultPlan.scala
 
b/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/plans/ResultPlan.scala
index 2bf4069..f12ac2f 100644
--- 
a/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/plans/ResultPlan.scala
+++ 
b/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/plans/ResultPlan.scala
@@ -94,8 +94,8 @@ object ResultPlan extends Logging {
     try {
       val rows = df.collect()
       val (scanRows, scanBytes) = 
QueryMetricUtils.collectScanMetrics(df.queryExecution.executedPlan)
-      
QueryContextFacade.current().addAndGetScannedRows(scanRows.iterator().next())
-      
QueryContextFacade.current().addAndGetScannedBytes(scanBytes.iterator().next())
+      
QueryContextFacade.current().addAndGetScannedRows(scanRows.asScala.map(Long2long(_)).sum)
+      
QueryContextFacade.current().addAndGetScannedBytes(scanBytes.asScala.map(Long2long(_)).sum)
       val dt = rows.map { row =>
         var rowIndex = 0
         row.toSeq.map { cell => {

Reply via email to