hbase - Select with limit and offset loses many rows in phoenix -
we have on 300m records in phoenix table.
create table if not exists secure.transaction ( salt varchar(4) not null, transaction_id varchar not null, ins_date timestamp,
... transaction_date timestamp, ... constraint pk primary key (salt, transaction_id) ) immutable_rows=true,"keyprefixregionsplitpolicy.prefix_length"=4,split_policy='org.apache.hadoop.hbase.regionserver.keyprefixregionsplitpolicy' ...;
when query
select transaction_date, transaction_id secure.transaction salt = '1234' , transaction_id '12345%' order transaction_date limit 100 offset 100;
i see huge gap in middle of result set. looks different hbase regions sorted , sliced data separately.
if ommit offset clause sorting looks correct.
the execution plan query
| client 2-chunk 371724 rows 314572847 bytes parallel 2-way range scan on secure.transaction ['8077','0000001019011232'] - ['8077','0000001019011233'] | | server top 20 rows sorted [transaction_date desc] | | client merge sort | | client offset 10
is bug in phoenix 4.8.1 or sql query?
Comments
Post a Comment