Search in sources :

Example 1 with RandomRowFilter

use of org.apache.hadoop.hbase.filter.RandomRowFilter in project hbase by apache.

the class TestPartialResultsFromClientSide method testNoPartialResultsWhenRowFilterPresent.

/**
   * When a scan has a filter where {@link org.apache.hadoop.hbase.filter.Filter#hasFilterRow()} is
   * true, the scanner should not return partial results. The scanner cannot return partial results
   * because the entire row needs to be read for the include/exclude decision to be made
   */
@Test
public void testNoPartialResultsWhenRowFilterPresent() throws Exception {
    Scan scan = new Scan();
    scan.setMaxResultSize(1);
    scan.setAllowPartialResults(true);
    // If a filter hasFilter() is true then partial results should not be returned else filter
    // application server side would break.
    scan.setFilter(new RandomRowFilter(1.0f));
    ResultScanner scanner = TABLE.getScanner(scan);
    Result r = null;
    while ((r = scanner.next()) != null) {
        assertFalse(r.mayHaveMoreCellsInRow());
    }
    scanner.close();
}
Also used : ResultScanner(org.apache.hadoop.hbase.client.ResultScanner) Scan(org.apache.hadoop.hbase.client.Scan) RandomRowFilter(org.apache.hadoop.hbase.filter.RandomRowFilter) Result(org.apache.hadoop.hbase.client.Result) Test(org.junit.Test)

Aggregations

Result (org.apache.hadoop.hbase.client.Result)1 ResultScanner (org.apache.hadoop.hbase.client.ResultScanner)1 Scan (org.apache.hadoop.hbase.client.Scan)1 RandomRowFilter (org.apache.hadoop.hbase.filter.RandomRowFilter)1 Test (org.junit.Test)1