You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Peter Somogyi (JIRA)" <ji...@apache.org> on 2017/07/12 09:52:00 UTC
[jira] [Created] (HBASE-18368) Filters with OR does not work
Peter Somogyi created HBASE-18368:
-------------------------------------
Summary: Filters with OR does not work
Key: HBASE-18368
URL: https://issues.apache.org/jira/browse/HBASE-18368
Project: HBase
Issue Type: Bug
Components: Filters
Affects Versions: 2.0.0, 3.0.0
Reporter: Peter Somogyi
Priority: Critical
Scan gives back incomplete list if multiple filters are combined with OR / MUST_PASS_ONE.
Using 2 FamilyFilters in a FilterList using MUST_PASS_ONE operator will give back results for only the first Filter.
{code:java|title=Test code}
@Test
public void testFiltersWithOr() throws Exception {
TableName tn = TableName.valueOf("MyTest");
Table table = utility.createTable(tn, new String[] {"cf1", "cf2"});
byte[] CF1 = Bytes.toBytes("cf1");
byte[] CF2 = Bytes.toBytes("cf2");
Put put1 = new Put(Bytes.toBytes("0"));
put1.addColumn(CF1, Bytes.toBytes("col_a"), Bytes.toBytes(0));
table.put(put1);
Put put2 = new Put(Bytes.toBytes("0"));
put2.addColumn(CF2, Bytes.toBytes("col_b"), Bytes.toBytes(0));
table.put(put2);
FamilyFilter filterCF1 = new FamilyFilter(CompareFilter.CompareOp.EQUAL, new BinaryComparator(CF1));
FamilyFilter filterCF2 = new FamilyFilter(CompareFilter.CompareOp.EQUAL, new BinaryComparator(CF2));
FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ONE);
filterList.addFilter(filterCF1);
filterList.addFilter(filterCF2);
Scan scan = new Scan();
scan.setFilter(filterList);
ResultScanner scanner = table.getScanner(scan);
System.out.println(filterList);
for (Result rr = scanner.next(); rr != null; rr = scanner.next()) {
System.out.println(rr);
}
}
{code}
{noformat:title=Output}
FilterList OR (2/2): [FamilyFilter (EQUAL, cf1), FamilyFilter (EQUAL, cf2)]
keyvalues={0/cf1:col_a/1499852754957/Put/vlen=4/seqid=0}
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)