ChiaPing Tsai commented on HBASE-16729:

Why this change now? And why is the generic <Filter> removed now ?
Make the inner list unchangeable for preventing the unsafe modification. For 
example, user can add a filter to the list without checking the "Reversed".

Pls mark this as an incompatible change. I think with isFamilyEssential etc. we 
may have compatibility issue if suppose some one is creating an empty list. But 
anyway am not sure if that is a right way to use filters.
Instead of any change, we can just add enough comments to explain the empty 
FilterList. It seems to me that the issue of empty FilterList is the 
inconsistent result(see 


> Define the behavior of (default) empty FilterList
> -------------------------------------------------
>                 Key: HBASE-16729
>                 URL: https://issues.apache.org/jira/browse/HBASE-16729
>             Project: HBase
>          Issue Type: Wish
>            Reporter: ChiaPing Tsai
>            Assignee: ChiaPing Tsai
>            Priority: Trivial
>         Attachments: HBASE-16729.v0.patch
> Current empty FilterList filters all data, because the 
> FilterList#isFamilyEssential always returns false which causes the null cell 
> retrieved by RegionScannerImpl.storeHeap.
> It seems to me that empty FilterList should do nothing, because the following 
> code is common.
> {noformat}
> private static Filter makeFilter() {
>   FilterList filterList = new FilterList ();
>   for (some conditions) {
>     // add some filters. Or nothing to add.
>   }
>   return filterList;
> }
> {noformat}
> If we keep the current logic which filters all data, we should add enough 
> comments to explain it. Or add the FilterList#size() or FilterList#empty() 
> for preventing filtering all data.
> Any comments? Thanks.

This message was sent by Atlassian JIRA

Reply via email to