You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by al...@apache.org on 2022/03/30 17:17:18 UTC

[arrow-datafusion] branch master updated: issue#1967 ignore channel close (#2113)

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

alamb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/master by this push:
     new c43b9ab  issue#1967 ignore channel close (#2113)
c43b9ab is described below

commit c43b9ab9922ccbaaf6fe6f27e3d31201989edb1e
Author: silence-coding <32...@users.noreply.github.com>
AuthorDate: Thu Mar 31 01:17:13 2022 +0800

    issue#1967 ignore channel close (#2113)
    
    Co-authored-by: p00512853 <pa...@huawei.com>
---
 datafusion/core/src/physical_plan/file_format/parquet.rs | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/datafusion/core/src/physical_plan/file_format/parquet.rs b/datafusion/core/src/physical_plan/file_format/parquet.rs
index 6b784cd..e0e83c1 100644
--- a/datafusion/core/src/physical_plan/file_format/parquet.rs
+++ b/datafusion/core/src/physical_plan/file_format/parquet.rs
@@ -503,8 +503,9 @@ fn read_partition(
                     let proj_batch = partition_column_projector
                         .project(adapted_batch, &partitioned_file.partition_values);
 
-                    send_result(&response_tx, proj_batch)?;
-                    if limit.map(|l| total_rows >= l).unwrap_or(false) {
+                    let send_rt = send_result(&response_tx, proj_batch);
+                    if send_rt.is_err() || limit.map(|l| total_rows >= l).unwrap_or(false)
+                    {
                         break 'outer;
                     }
                 }
@@ -515,10 +516,10 @@ fn read_partition(
                     let err_msg =
                         format!("Error reading batch from {}: {}", partitioned_file, e);
                     // send error to operator
-                    send_result(
+                    let _ = send_result(
                         &response_tx,
                         Err(ArrowError::ParquetError(err_msg.clone())),
-                    )?;
+                    );
                     // terminate thread with error
                     return Err(DataFusionError::Execution(err_msg));
                 }