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

ASF GitHub Bot commented on TAJO-1675:
--------------------------------------

Github user jihoonson commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/653#discussion_r37935397
  
    --- Diff: 
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto ---
    @@ -247,13 +240,15 @@ message PartitionDescProto {
       required string partitionName = 1;
       repeated PartitionKeyProto partitionKeys = 2;
       optional string path = 3;
    -  optional int32 id = 4;
    +  optional int32 partition_id = 4;
    --- End diff --
    
    This interface is very weird because it involves many potential bugs. We 
must handle the cases that some mandatory fields are missed, and this is 
naturally done by protocol buffer. The below problem of optionally declared 
path is also related to this weird design. 
    A better design is as follows. PartitionDescProto corresponds to 
PartitionDesc, and should be used to represent a partition as TableDesc 
represents a table. 
    To do so, PartitionDescProto should be used as only the result of the 
methods which retrieves partitions. For input params, a new data structure is 
required. 


> NPE when selecting data from information_schema.partition_keys
> --------------------------------------------------------------
>
>                 Key: TAJO-1675
>                 URL: https://issues.apache.org/jira/browse/TAJO-1675
>             Project: Tajo
>          Issue Type: Bug
>          Components: Catalog
>            Reporter: Jihoon Son
>            Assignee: Jaehwa Jung
>             Fix For: 0.11.0
>
>
> See the title.
> You can reproduce as follows.
> {noformat}
> default> create table partitioned_nation (n_name text, n_comment text) 
> partition by column (n_nationkey int8, n_regionkey int8) ;
> OK
> default> insert into partitioned_nation select * from nation;
> default> \d partitioned_nation
> table name: default.partitioned_nation
> table uri: hdfs://localhost:7020/tajo/warehouse/default/partitioned_nation
> store type: CSV
> number of rows: 0
> volume: 0 B
> Options: 
>       'text.delimiter'='|'
> schema: 
> n_name        TEXT
> n_comment     TEXT
> Partitions: 
> type:COLUMN
> columns::n_nationkey (INT8), n_regionkey (INT8)
> default> \c information_schema
> You are now connected to database "information_schema" as user "jihoonson".
> information_schema> select * from partition_keys;
> partition_id,  column_name,  partition_value
> -------------------------------
> ERROR: java.lang.NullPointerException
> java.sql.SQLException: java.lang.NullPointerException
>       at 
> org.apache.tajo.jdbc.TajoResultSetBase.next(TajoResultSetBase.java:717)
>       at 
> org.apache.tajo.cli.tsql.DefaultTajoCliOutputFormatter.printResult(DefaultTajoCliOutputFormatter.java:105)
>       at 
> org.apache.tajo.cli.tsql.TajoCli.localQueryCompleted(TajoCli.java:558)
>       at org.apache.tajo.cli.tsql.TajoCli.executeQuery(TajoCli.java:532)
>       at 
> org.apache.tajo.cli.tsql.TajoCli.executeParsedResults(TajoCli.java:447)
>       at org.apache.tajo.cli.tsql.TajoCli.runShell(TajoCli.java:419)
>       at org.apache.tajo.cli.tsql.TajoCli.main(TajoCli.java:692)
> Caused by: java.io.IOException: java.lang.NullPointerException
>       at org.apache.tajo.jdbc.FetchResultSet.nextTuple(FetchResultSet.java:80)
>       at 
> org.apache.tajo.jdbc.TajoResultSetBase.next(TajoResultSetBase.java:711)
>       ... 6 more
> Caused by: com.google.protobuf.ServiceException: 
> java.lang.NullPointerException
>       at 
> org.apache.tajo.client.QueryClientImpl.fetchNextQueryResult(QueryClientImpl.java:360)
>       at 
> org.apache.tajo.client.TajoClientImpl.fetchNextQueryResult(TajoClientImpl.java:134)
>       at org.apache.tajo.jdbc.FetchResultSet.nextTuple(FetchResultSet.java:62)
>       ... 7 more
> {noformat}



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

Reply via email to