Phoenix queries seem to return incorrect results when defining tables
with more salt buckets than regions. Is this a known problem or am I
misunderstanding something?

I tested with phoenix 5.1.2 and hbase 2.1.4.

Create a table with 4 salt buckets and 2 initial regions and add some values:

create table JVB (ID BIGINT NOT NULL, NAME VARCHAR, CONSTRAINT pk
PRIMARY KEY (ID)) SALT_BUCKETS = 4 SPLIT ON (5);
upsert into JVB values (0, 'A');
upsert into JVB values (1, 'A');
upsert into JVB values (2, 'A');
upsert into JVB values (3, 'A');
upsert into JVB values (4, 'A');
upsert into JVB values (5, 'A');
upsert into JVB values (6, 'A');
upsert into JVB values (7, 'A');
upsert into JVB values (8, 'A');
upsert into JVB values (9, 'A');

Example queries that are incorrect:

0: jdbc:phoenix:> select * from JVB where ID < 4;
+----+------+
| ID | NAME |
+----+------+
| 3  | A    |
+----+------+
1 row selected (0.011 seconds)
0: jdbc:phoenix:> select * from JVB where ID > 4;
+----+------+
| ID | NAME |
+----+------+
| 7  | A    |
| 2  | A    |
| 6  | A    |
| 1  | A    |
| 5  | A    |
| 9  | A    |
| 0  | A    |
| 4  | A    |
| 8  | A    |
+----+------+
9 rows selected (0.012 seconds)

Thanks,
Jan

Reply via email to