You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "wuchengzhi (JIRA)" <ji...@apache.org> on 2015/01/05 09:44:34 UTC

[jira] [Comment Edited] (PHOENIX-1570) Data missing when using local index

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

wuchengzhi edited comment on PHOENIX-1570 at 1/5/15 8:43 AM:
-------------------------------------------------------------

   curently,i just add duplicate code to workaround. it's not  good but it worked.

org.apache.phoenix.compile.ProjectionCompiler.java
   283  .......
   284     List<byte[]> projectedFamilies = Lists.newArrayListWithExpectedSize(aliasedNodes.size());
   +      for (AliasedNode aliasedNode : aliasedNodes) {
   +     	aliasedNode.getNode().accept(selectVisitor);
   +     }
   285    for (AliasedNode aliasedNode : aliasedNodes) {
   286       ParseNode node = aliasedNode.getNode();
   287         // TODO: visitor?
   288         if (node instanceof WildcardParseNode) {
            .............................


was (Author: bdifn):
   curently,i just add duplicate code to workaround. it's not  good but it worked.

   283  .......
   284     List<byte[]> projectedFamilies = Lists.newArrayListWithExpectedSize(aliasedNodes.size());
   +      for (AliasedNode aliasedNode : aliasedNodes) {
   +     	aliasedNode.getNode().accept(selectVisitor);
   +     }
   285    for (AliasedNode aliasedNode : aliasedNodes) {
   286       ParseNode node = aliasedNode.getNode();
   287         // TODO: visitor?
   288         if (node instanceof WildcardParseNode) {
            .............................

> Data missing when using local index
> -----------------------------------
>
>                 Key: PHOENIX-1570
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1570
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.2.1, 4.2.2
>         Environment: ubuntu 
> HBase 0.98.7
> Hadoop 2.5.1
> OS: ubuntu
>            Reporter: wuchengzhi
>            Priority: Critical
>
> 1. crate a table by the schema as below:
> CREATE TABLE IF NOT EXISTS Miss_data_table(
> a BIGINT NOT NULL,
> b VARCHAR,
> c INTEGER,
> d INTEGER,
> e INTEGER,
> f INTEGER,
> g VARCHAR,
> h VARCHAR,
> i INTEGER,
> j VARCHAR,
> k INTEGER,
> l VARCHAR,
> m VARCHAR,
> n INTEGER,
> o INTEGER,
> p VARCHAR,
> q VARCHAR,
> r INTEGER,
> s BIGINT,
> t VARCHAR CONSTRAINT pk PRIMARY KEY(a))
> 2.create local index for the table with column: q
> create local index idx_q on Miss_data_table (q);
> 3.upsert data into table.
> upsert into Miss_data_table values(96660688,'hello/TEST-0',156,-1,-1,0,'2013-02-14 18:34:05.0','TEST-1',0,'495839182',0,'50','',0,0,'1818378','102218',0,26,'20141201')
> 4. execute querys...
> select a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t from Miss_data_table where q = '102218';
> +----------+--------------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+------+------+----------+
> | A        | B            | C    | D    | E    | F    | G    | H    | I    | J    | K    | L    | M    | N    | O    | P    | Q      | R    | S    | T        |
> +----------+--------------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+------+------+----------+
> | 96660688 | hello/TEST-0 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 102218 | NULL | 26   | 20141201 |
> +----------+--------------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+------+------+----------+
> select a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t from Miss_data_table where a=96660688;
> +----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+------+---------+--------+------+------+----------+
> | A        | B            | C    | D    | E    | F    | G                     | H      | I    | J         | K    | L    | M    | N    | O    | P       | Q      | R    | S    | T        |
> +----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+------+---------+--------+------+------+----------+
> | 96660688 | hello/TEST-0 | 156  | -1   | -1   | 0    | 2013-02-14 18:34:05.0 | TEST-1 | 0    | 495839182 | 0    | 50   | NULL | 0    | 0    | 1818378 | 102218 | 0    | 26   | 20141201 |
> +----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+------+---------+--------+------+------+----------+
> // execute the query plain ,it shows we fetch data by local index.
> explain select a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t from Miss_data_table where q = '102218';
> +------------------------------------------+
> |                   PLAN                   |
> +------------------------------------------+
> | CLIENT 1-CHUNK PARALLEL 1-WAY RANGE SCAN OVER _LOCAL_IDX_TEST.MISS_DATA_TABLE [-32768,'102218'] |
> | CLIENT MERGE SORT                        |
> +------------------------------------------+



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