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

wuchengzhi commented on PHOENIX-1570:
-------------------------------------

and i try to select less columns as : 
select a,b,c,d,e,f,g,h,i,j,k,l,n,o,p,q,r,s from Miss_data_table where q = 
'102218';
+----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+---------+--------+------+------+
| A        | B            | C    | D    | E    | F    | G                     | 
H      | I    | J         | K    | L    | N    | O    | P       | Q      | R    
| S    |
+----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+---------+--------+------+------+
| 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   |
+----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+---------+--------+------+------+

for 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';
the keyvalue bytes return by server was:
[-113, -43, 0, 0, 0, 40, 0, 0, 0, 32, 0, 0, 0, 0, 0, 17, 0, 0, 49, 48, 50, 50, 
49, 56, 0, -128, 0, 0, 0, 5, -62, -20, -48, 1, 48, 95, 48, 0, 0, 1, 74, 118, 
-27, 61, 125, 4, 0, 0, 0, -91, 0, 0, 0, 31, 0, 0, 0, 126, 0, 17, 0, 0, 49, 48, 
50, 50, 49, 56, 0, -128, 0, 0, 0, 5, -62, -20, -48, 2, 95, 118, 0, 0, 1, 74, 
118, -27, 61, 125, 4, 12, 104, 101, 108, 108, 111, 47, 84, 69, 83, 84, 45, 48, 
-128, 0, 0, -100, 127, -1, -1, -1, 127, -1, -1, -1, -128, 0, 0, 0, 21, 50, 48, 
49, 51, 45, 48, 50, 45, 49, 52, 32, 49, 56, 58, 51, 52, 58, 48, 53, 46, 48, 6, 
84, 69, 83, 84, 45, 49, -128, 0, 0, 0, 9, 52, 57, 53, 56, 51, 57, 49, 56, 50, 
-128, 0, 0, 0, 2, 53, 48, -128, 0, 0, 0, -128, 0, 0, 0, 7, 49, 56, 49, 56, 51, 
55, 56, -128, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 26, 8, 50, 48, 49, 52, 49, 50, 
48, 49, 0, 0, 0, 0, 0, 3, -9, -1, 0, 1]

then try to retrieve the value of each field, but when it call 
ValueBitSet.get(int nBit),  it retrun false frequently,so the data missing.but 
the bytes above it contains all the value of the fields.

ValueBitSet.java :
 public boolean get(int nBit) {
        int lIndex = nBit / BITS_PER_LONG;
        int bIndex = nBit % BITS_PER_LONG;
        return (bits[lIndex] & (1L << bIndex)) != 0;
 }

but when i select a,b,c,d,e,f,g,h,i,j,k,l,n,o,p,q,r,s from Miss_data_table 
where q = '102218'

the keyvalue bytes return by server was:
[-113, -60, 0, 0, 0, 40, 0, 0, 0, 32, 0, 0, 0, 0, 0, 17, 0, 0, 49, 48, 50, 50, 
49, 56, 0, -128, 0, 0, 0, 5, -62, -20, -48, 1, 48, 95, 48, 0, 0, 1, 74, 118, 
-27, 61, 125, 4, 0, 0, 0, -108, 0, 0, 0, 31, 0, 0, 0, 109, 0, 17, 0, 0, 49, 48, 
50, 50, 49, 56, 0, -128, 0, 0, 0, 5, -62, -20, -48, 2, 95, 118, 0, 0, 1, 74, 
118, -27, 61, 125, 4, 12, 104, 101, 108, 108, 111, 47, 84, 69, 83, 84, 45, 48, 
-128, 0, 0, -100, 127, -1, -1, -1, 127, -1, -1, -1, -128, 0, 0, 0, 21, 50, 48, 
49, 51, 45, 48, 50, 45, 49, 52, 32, 49, 56, 58, 51, 52, 58, 48, 53, 46, 48, 6, 
84, 69, 83, 84, 45, 49, -128, 0, 0, 0, 9, 52, 57, 53, 56, 51, 57, 49, 56, 50, 
-128, 0, 0, 0, 2, 53, 48, -128, 0, 0, 0, -128, 0, 0, 0, 7, 49, 56, 49, 56, 51, 
55, 56, -128, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 26, -1, -1]

and ValueBitSet.get(int nBit) always return true.

> 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.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)

Reply via email to