CDH-18969: Incorrect query result in Impala

This commit fixes issue CDH-18969 where Impala returns wrong results
when querying an HBase table. This issue is triggered when a column family
sorts lexicographically before ":key", which is the column family of the
row key, thereby causing the wrong column to be used as a row key by the
backend.

The following changes are included:
1. Modified the load function in HBaseTable.java to make sure the
catalog object of an HBase table always stores the row key column first.

Change-Id: Icd7ebc973d81672c04d5c7c8bbabd813338d5eac
Reviewed-on: http://gerrit.ent.cloudera.com:8080/2513
Reviewed-by: Dimitris Tsirogiannis <dtsirogiannis@cloudera.com>
Tested-by: jenkins
Reviewed-on: http://gerrit.ent.cloudera.com:8080/2602
This commit is contained in:
Dimitris Tsirogiannis
2014-05-10 15:47:29 -07:00
committed by jenkins
parent 8c2dda5771
commit a7a9cde86f
5 changed files with 80 additions and 7 deletions

View File

@@ -636,3 +636,18 @@ select * from alltypessmallbinary
---- TYPES
INT, BIGINT, BOOLEAN, STRING, DOUBLE, FLOAT, INT, INT, SMALLINT, STRING, TIMESTAMP, TINYINT, INT
====
---- QUERY
# Scan an HBase table with multiple column families (CDH-18969)
select * from hbasecolumnfamilies
---- RESULTS
0,true,0,0,0,0,'01/01/09',0,0,'0',2009-01-01 00:00:00
1,false,1,1,1,10,'01/01/09',10.1,1.100000023841858,'1',2009-01-01 00:01:00
2,true,0,0,0,0,'02/01/09',0,0,'0',2009-02-01 00:00:00
3,false,1,1,1,10,'02/01/09',10.1,1.100000023841858,'1',2009-02-01 00:01:00
4,true,0,0,0,0,'03/01/09',0,0,'0',2009-03-01 00:00:00
5,false,1,1,1,10,'03/01/09',10.1,1.100000023841858,'1',2009-03-01 00:01:00
6,true,0,0,0,0,'04/01/09',0,0,'0',2009-04-01 00:00:00
7,false,1,1,1,10,'04/01/09',10.1,1.100000023841858,'1',2009-04-01 00:01:00
---- TYPES
INT, BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, STRING, DOUBLE, FLOAT, STRING, TIMESTAMP
====