You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by st...@apache.org on 2022/03/12 07:23:59 UTC

[impala] branch master updated: IMPALA-11177: Remove DCHECK in useAsyncIoForStream

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

stigahuang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/master by this push:
     new 4aeffe7  IMPALA-11177: Remove DCHECK in useAsyncIoForStream
4aeffe7 is described below

commit 4aeffe71355a003de8c1d625c1443a79dba431e5
Author: Riza Suminto <ri...@cloudera.com>
AuthorDate: Fri Mar 11 09:48:22 2022 -0800

    IMPALA-11177: Remove DCHECK in useAsyncIoForStream
    
    TestScannersFuzzing::test_fuzz_alltypes tests how impala handles
    corruption in data files. IMPALA-6636 adds support for ORC async IO
    where it put DCHECK within method useAsyncIoForStream to verify correct
    orc::StreamKind. If this part of the ORC test file is corrupted, impalad
    will crash in this DCHECK. We should remove this DCHECK and let ORC lib
    deals with the corrupted orc::StreamKind itself.
    
    Testing:
    - Run and pass TestScannersFuzzing::test_fuzz_alltypes
    
    Change-Id: I70b21badf39869091feff202e7a08a8460abf9db
    Reviewed-on: http://gerrit.cloudera.org:8080/18311
    Reviewed-by: Quanlong Huang <hu...@gmail.com>
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
 be/src/exec/hdfs-orc-scanner.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/be/src/exec/hdfs-orc-scanner.cc b/be/src/exec/hdfs-orc-scanner.cc
index cd5282d..a841537 100644
--- a/be/src/exec/hdfs-orc-scanner.cc
+++ b/be/src/exec/hdfs-orc-scanner.cc
@@ -180,7 +180,9 @@ bool useAsyncIoForStream(orc::StreamKind kind) {
     case orc::StreamKind_BLOOM_FILTER_UTF8:
       return false;
     default:
-      DCHECK(false);
+      // We might have bogus StreamKind if we are reading corrupted ORC file.
+      // Return false and let ORC lib deals with it.
+      return false;
   }
 }