You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Tim Armstrong (JIRA)" <ji...@apache.org> on 2017/11/20 20:46:00 UTC

[jira] [Resolved] (IMPALA-6217) parquet-column-readers.cc:417] Check failed: def_levels_.CacheHasNext()

     [ https://issues.apache.org/jira/browse/IMPALA-6217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tim Armstrong resolved IMPALA-6217.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 2.11.0


IMPALA-6217: fix DCHECK in Parquet fuzz test

The IMPALA-4177 change accidentally removed a Status check that could be
hit with a corrupt parquet file.

Testing:
Ran TestScannersFuzzing in a loop for 2 days.

Change-Id: I6ceca7de31f602b75d744dacbdf37afa75983344
Reviewed-on: http://gerrit.cloudera.org:8080/8594
Reviewed-by: Alex Behm <al...@cloudera.com>
Tested-by: Impala Public Jenkins

> parquet-column-readers.cc:417] Check failed: def_levels_.CacheHasNext()
> -----------------------------------------------------------------------
>
>                 Key: IMPALA-6217
>                 URL: https://issues.apache.org/jira/browse/IMPALA-6217
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 2.11.0
>            Reporter: Michael Ho
>            Assignee: Tim Armstrong
>            Priority: Blocker
>             Fix For: Impala 2.11.0
>
>
> Hit the following crash during one of these tests:
> {noformat}
> query_test.test_queries.TestHdfsQueries.test_analytic_fns[exec_option: {'disable_codegen_rows_threshold': 0, 'disable_codegen': True, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 100, 'batch_size': 0, 'num_nodes': 0} | table_format: rc/bzip/block]
> query_test.test_scanners_fuzz.TestScannersFuzzing.test_fuzz_nested_types[exec_option: {'mem_limit': '512m', 'abort_on_error': False, 'num_nodes': 0} | table_format: parquet/none]
> query_test.test_queries.TestQueries.test_subquery[exec_option: {'batch_size': 0, 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, 'disable_codegen': True, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 0} | table_format: parquet/none]
> query_test.test_scanners_fuzz.TestScannersFuzzing.test_fuzz_alltypes[exec_option: {'mem_limit': '512m', 'abort_on_error': False, 'num_nodes': 0} | table_format: avro/none]
> query_test.test_queries.TestHdfsQueries.test_analytic_fns[exec_option: {'batch_size': 0, 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 0} | table_format: rc/bzip/block]
> query_test.test_queries.TestQueries.test_subquery[exec_option: {'batch_size': 0, 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, 'disable_codegen': False, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 0} | table_format: parquet/none]
> query_test.test_queries.TestQueries.test_subquery[exec_option: {'disable_codegen_rows_threshold': 0, 'disable_codegen': True, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 100, 'batch_size': 0, 'num_nodes': 0} | table_format: parquet/none]
> query_test.test_spilling.TestSpillingDebugActionDimensions.test_spilling_aggs[exec_option: {'debug_action': '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@0.9', 'default_spillable_buffer_size': '256k'} | table_format: parquet/none]
> verifiers.test_verify_metrics.TestValidateMetrics.test_metrics_are_zero
> verifiers.test_verify_metrics.TestValidateMetrics.test_num_unused_buffers
> {noformat}
> The backtrace:
> {noformat}
> #0  0x000000346a0328e5 in raise () from /lib64/libc.so.6
> #1  0x000000346a0340c5 in abort () from /lib64/libc.so.6
> #2  0x0000000003bbcc34 in google::DumpStackTraceAndExit() ()
> #3  0x0000000003bb36ad in google::LogMessage::Fail() ()
> #4  0x0000000003bb4f52 in google::LogMessage::SendToLog() ()
> #5  0x0000000003bb3087 in google::LogMessage::Flush() ()
> #6  0x0000000003bb664e in google::LogMessageFatal::~LogMessageFatal() ()
> #7  0x0000000001dbfc10 in impala::ScalarColumnReader<long, (parquet::Type::type)2, true>::MaterializeValueBatch<false, false, false> (this=0x14ac1800, pool=0x15720558, max_values=1024, tuple_size=9, tuple_mem=0x865e6800 "", num_values=0x7fe059fc8870) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/parquet-column-readers.cc:417
> #8  0x0000000001db3dfe in impala::ScalarColumnReader<long, (parquet::Type::type)2, true>::MaterializeValueBatch<false, false> (this=0x14ac1800, pool=0x15720558, max_values=1024, tuple_size=9, tuple_mem=0x865e6800 "", num_values=0x7fe059fc8870) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/parquet-column-readers.cc:468
> #9  0x0000000001d98e22 in impala::ScalarColumnReader<long, (parquet::Type::type)2, true>::ReadValueBatch<false> (this=0x14ac1800, pool=0x15720558, max_values=1024, tuple_size=9, tuple_mem=0x865e6800 "", num_values=0x15720510) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/parquet-column-readers.cc:389
> #10 0x0000000001d8a814 in impala::ScalarColumnReader<long, (parquet::Type::type)2, true>::ReadNonRepeatedValueBatch (this=0x14ac1800, pool=0x15720558, max_values=1024, tuple_size=9, tuple_mem=0x865e6800 "", num_values=0x15720510) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/parquet-column-readers.cc:285
> #11 0x0000000001bd4c78 in impala::HdfsParquetScanner::AssembleRows (this=0x176401c0, column_readers=..., row_batch=0x11ffd180, skip_row_group=0x17640348) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/hdfs-parquet-scanner.cc:980
> #12 0x0000000001bd1ed4 in impala::HdfsParquetScanner::GetNextInternal (this=0x176401c0, row_batch=0x11ffd180) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/hdfs-parquet-scanner.cc:505
> #13 0x0000000001bd0090 in impala::HdfsParquetScanner::ProcessSplit (this=0x176401c0) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/hdfs-parquet-scanner.cc:402
> #14 0x0000000001b5d296 in impala::HdfsScanNode::ProcessSplit (this=0xc9c2300, filter_ctxs=..., expr_results_pool=0x7fe059fc96e0, scan_range=0xcbb29c0) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/hdfs-scan-node.cc:527
> #15 0x0000000001b5c70c in impala::HdfsScanNode::ScannerThread (this=0xc9c2300) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/hdfs-scan-node.cc:436
> #16 0x0000000001b5bb9f in impala::HdfsScanNode::<lambda()>::operator()(void) const (__closure=0x7fe059fc9bc8) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/exec/hdfs-scan-node.cc:349
> #17 0x0000000001b5dae7 in boost::detail::function::void_function_obj_invoker0<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourceMgr::ResourcePool*)::<lambda()>, void>::invoke(boost::detail::function::function_buffer &) (function_obj_ptr=...) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153
> #18 0x00000000017b2a9a in boost::function0<void>::operator() (this=0x7fe059fc9bc0) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:767
> #19 0x0000000001ab70c1 in impala::Thread::SuperviseThread (name=..., category=..., functor=..., thread_started=0x7fe06b47e860) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/repos/Impala/be/src/util/thread.cc:352
> #20 0x0000000001abfc4c in boost::_bi::list4<boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<boost::function<void()> >, boost::_bi::value<impala::Promise<long int>*> >::operator()<void (*)(const std::basic_string<char>&, const std::basic_string<char>&, boost::function<void()>, impala::Promise<long int>*), boost::_bi::list0>(boost::_bi::type<void>, void (*&)(const std::basic_string<char, std::char_traits<char>, std::allocator<char> > &, const std::basic_string<char, std::char_traits<char>, std::allocator<char> > &, boost::function<void()>, impala::Promise<long> *), boost::_bi::list0 &, int) (this=0x13bbb5c0, f=@0x13bbb5b8, a=...) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:457
> #21 0x0000000001abfb8f in boost::_bi::bind_t<void, void (*)(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::function<void()>, impala::Promise<long int>*), boost::_bi::list4<boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<boost::function<void()> >, boost::_bi::value<impala::Promise<long int>*> > >::operator()(void) (this=0x13bbb5b8) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20
> #22 0x0000000001abfb52 in boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::function<void()>, impala::Promise<long int>*), boost::_bi::list4<boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<boost::function<void()> >, boost::_bi::value<impala::Promise<long int>*> > > >::run(void) (this=0x13bbb400) at /data/jenkins/workspace/impala-asf-master-exhaustive-integration/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116
> #23 0x0000000002d3d0fa in thread_proxy ()
> #24 0x000000346a407851 in start_thread () from /lib64/libpthread.so.0
> #25 0x000000346a0e894d in clone () from /lib64/libc.so.6
> {noformat}
> [~tarmstrong] , assigning this to you as you have touched the parquet column reader recently.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)