- If you do not implement custom filter you can ignore the rest of this message.
- If you your custom filters extend FilterBase you can ignore the rest of this message.
In 0.94.5 we added a new feature to Filters, which allows certain filters to avoid loading entire column families if they are not necessary to evaluation the filter (and the filter indicates that the row/kv should be filtered).
In order to do that we added a new method to Filter: isFamilyEssential(bytep). It was pointed out that anybody who implemented the Filter interface directly instead of extending FilterBase in prior versions of HBase now has make changes to the implementing class to add an implementation of isFamilyEssential.
After some discussion (see HBASE-5416) we decided to remove that method from Filter and push it instead into FilterBase (even though I was skeptical about that).
TL;DR: Custom filters should extend FilterBase. If you implement custom filter and makes use of isFamilyEssential for HBase 0.94.5 and do so by implementing Filter directly you will have to change your code in 0.94.6 and later and extend FilterBase instead to get this functionality.
Just a heads up, it is quite unlikely that anybody will actually run into this.
Your 0.94 release manager.
Ted Yu 2013-02-26, 02:18