You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hawq.apache.org by "Xiang Sheng (JIRA)" <ji...@apache.org> on 2016/11/07 02:03:58 UTC

[jira] [Commented] (HAWQ-1147) Analyze will ERROR after register multiple parquet data files to a parquet table while enable debug and cassert in hawq configure

    [ https://issues.apache.org/jira/browse/HAWQ-1147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15642823#comment-15642823 ] 

Xiang Sheng commented on HAWQ-1147:
-----------------------------------

RCA : 
If we enable caasert in the hawq configure, it would open the assert checking.  
When we create an empty table and register a paq data file to the table, since register cannot get the tupcount of the original table in this register usage currently, so the data file doesn't contains the tupcount info. It uses -1  as default. 
When doing analyse at this time, it would fail since there is a assert(tupcount > -1), so analyze will error. 
If hawq register can read the tupcount from the paq file, then the tupcount  will greater than -1.

> Analyze will ERROR after register multiple parquet data files to a parquet table while enable debug and cassert in hawq configure
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HAWQ-1147
>                 URL: https://issues.apache.org/jira/browse/HAWQ-1147
>             Project: Apache HAWQ
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.1.0-incubating
>            Reporter: Xiang Sheng
>            Assignee: Lei Chang
>             Fix For: 2.0.1.0-incubating
>
>
> Enable debug and cassert in hawq configure, analyze will report Unexpected internal error after register multiple parquet data files to the table. 
> reproduce steps:
> reproduce steps: 
> 1.  ./configure --enable-debug  --enable-cassert
> 2.  make -j8
> 3.  make install
> 4.  hawq init cluster -a
> 5.  hadoop fs -mkdir hdfs://localhost:8020/hawq_register_test
> 6.  hadoop fs -put $hawq_home/src/test/feature/ManagementTool/test_hawq_register_hawq.paq hdfs://localhost:8020/hawq_register_test/hawq1.paq
> 7.  create table t (i int) with (appendonly=true, orientation=parquet);
> 8.  hawq register -d postgres -f hdfs://localhost:8020/hawq_register_test/hawq1.paq  t
> 9.  
> postgres=#  select oid from pg_class where relname = 't';
>     oid
>    +------+
>  24586
> (1 row)
> postgres=# select * from pg_aoseg.pg_paqseg_24586;
>  segno | eof | tupcount | eofuncompressed
> -------+-----+----------+-----------------
>      1 | 657 |       -1 |              -1
> (1 rows)
> postgres=#analyze t;
> FATAL:  Unexpected internal error (analyze.c:1718)
> DETAIL:  FailedAssertion("!(relTuples > -1.0)", File: "analyze.c", Line: 1718)
> HINT:  Process 43356 will wait for gp_debug_linger=120 seconds before termination.
> Note that its locks and other resources will not be released until then.
> server closed the connection unexpectedly
>        	This probably means the server terminated abnormally
>        	before or while processing the request.
> The connection to the server was lost. Attempting reset: Succeeded



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)