Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
5.1.0
-
None
-
None
Description
Under certain conditions, ResultSet.next() will loop the results indefinitely.
Unfortunately, I haven't been able to replicate this in a unit test.
Steps for manual replication:
1. Download and run make_csv.py
python3 make_csv.py > data.csv
2. Add the following to bin/hbase-site.xml, then do issue mvn clean package
<property> <name>hbase.client.scanner.caching</name> <value>100</value> </property>
3. run bin/phoenix_sandbox.py
4. connect to sandbox with sqlline, create test table (see create_table.sql)
5. load the test data (data.csv) into the table
bin/psql.py -s -a ";" -t LARGE_TABLE localhost:<sandbox_port> /data.csv
6. connect to sandbox with sqlline, run the following command
select * from large_table where id>100 and id<200 limit 300;
Instead of returning 99 rows, it will return 297 rows. If you omit the limit clause, the result will loop indefinitely.
If you switch sqlline to incremental mode (!set incremental true), then the bug won't trigger, and the query will return 99 rows correctly.
Attachments
Attachments
Issue Links
- relates to
-
PHOENIX-5072 Cursor Query Loops Eternally with Local Index, Returns Fine Without It
- Resolved
- links to