Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
0.94.5
-
None
-
None
Description
try { HTable metaTable = new HTable(config, Bytes.toBytes(".META.")); Scan scan = new Scan(); scan.setStartRow(Bytes.toBytes("e")); scan.setStopRow(Bytes.toBytes("z")); ResultScanner scanner = metaTable.getScanner(scan); Result[] results = scanner.next(100); while (results.length > 0) { for (Result result : results) { System.out.println(Bytes.toString(result.getRow())); } results = scanner.next(100); } scanner.close(); metaTable.close(); } catch (Exception e) { e.printStackTrace(); }
This code will not return any result even if there is 10 tables with names starting with "d" to "w", including one table called "entry". If you comment the setStopRow you will get results, but will still get rows starting with "d" even if setStartRow is set to "e".
Same code using with a user table is working fine.
Facing the same issue with the shell.
scan '.META.' ,
{STARTROW => 'e', LIMIT => 10}is returning rows starting by "d".
scan '.META.' ,
{STARTROW => 'e', STOPROW => 'v', LIMIT => 10}is not returning anything.
Attachments
Attachments
Issue Links
- relates to
-
HBASE-7984 Use contains(byte[],byte[]) API added into org.apache.hadoop.hbase.util.Bytes at HTable#isValidMetaTableRow()
- Closed