Use FilterList instead of List of Filters.

./Zahoor

On 06-Aug-2012, at 12:12 PM, Shrijeet Paliwal <[email protected]> wrote:

> Hi All,
> 
> I am writing a job which finds rows that do not have a cell corresponding
> to any of the columns in the given set of columns.
> This is how I have configured my scan (a combination of lQualifierFilters
> and SkipFilter)
> 
>    columnsSet = Splitter.on(',') .split(columns); //columns is a csv
> containing column names
>    List<Filter> qualifierFilters = new ArrayList<Filter>();
>    for (String qual : columnsSet) {
>      qualifierFilters.add(new QualifierFilter(CompareOp.NOT_EQUAL,
>          new BinaryComparator(Bytes.toBytes(qual))));
>    }
>    Filter skipFilter = new SkipFilter(new
> FilterList(Operator.MUST_PASS_ALL, qualifierFilters));
>    Scan scan = new Scan();
>    scan.addFamily(Bytes.toBytes(family));
>    scan.setCacheBlocks(false);
>    scan.setCaching(1000);
>    scan.setFilter(skipFilter);
>    scan.setTimeRange(Long.valueOf(args[4]), Long.valueOf(args[5]));
> 
> In my test table the scan worked as expected. But in production run, I got
> rows which had cells containing one of the given qualifiers (not expected)
> Can some one help me spot the mistake?
> 
> -Shrijeet

Reply via email to