Mykola Komarnytskyy created PHOENIX-2067:
--------------------------------------------

             Summary: Incorrect order while using ORDER BY DESC with secondary 
indexes
                 Key: PHOENIX-2067
                 URL: https://issues.apache.org/jira/browse/PHOENIX-2067
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.4.0
         Environment: HBase 0.98.6-cdh5.3.0
jdk1.7.0_67 x64
CentOS release 6.4 (2.6.32-358.el6.x86_64)
            Reporter: Mykola Komarnytskyy


Steps to reproduce:
1. Create a table: 
CREATE TABLE mytable (id BIGINT not null PRIMARY KEY, timestamp BIGINT, 
log_message varchar) IMMUTABLE_ROWS=true, SALT_BUCKETS=16;
2. Create two indexes:
CREATE INDEX mytable_index_search ON mytable(timestamp,id) INCLUDE 
(log_message) SALT_BUCKETS=16;
CREATE INDEX mytable_index_search_desc ON mytable(timestamp DESC,id DESC) 
INCLUDE (log_message) SALT_BUCKETS=16;
3. Upsert values:
UPSERT INTO mytable VALUES(1, 1434983826018, 'message1');
UPSERT INTO mytable VALUES(2, 1434983826100, 'message2');
UPSERT INTO mytable VALUES(3, 1434983826101, 'message3');
UPSERT INTO mytable VALUES(4, 1434983826202, 'message4');
4. Sort DESC by timestamp:
select timestamp,id,log_message from mytable ORDER BY timestamp DESC;

Failure: data is sorted incorrectly. In case when we have two longs which  are 
different only by last two digits (e.g. 1434983826155, 1434983826100)  and one 
of the long ends with '00' we receive incorrect order. 
Sorting result:
1434983826202
1434983826100
1434983826101
1434983826018



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

Reply via email to