I think it would at least be inconsistent with how we handle Filter.filterKeyValue(KeyValue), which is done in ScanQueryMatcher after deleted cells are skipped.
From looking at the RegionScannerImpl.nextInternal code it seems filterRowKey(byte[]) should not see deleted row keys either, as it should only see rows whose cells went through ScanQueryMatcher before. Strange... ________________________________ From: Stack <[email protected]> To: [email protected] Sent: Friday, February 10, 2012 8:51 AM Subject: Re: CustomFilter.filterRowkey may get row which has be deleted? On Fri, Feb 10, 2012 at 1:13 AM, 魏超 <[email protected]> wrote: > I'm using *HBase-0.92.0rc4*. And there is a problem really confuse me. > I defined a CustomFilter to filter some rows, i override the method "* > filterRowkey*" to print out which rows the filter has meet. > > And there is one row be deleted through JAVA client: > *htable.delete(new Delete(theRowkey))* > > but when i use the CustomFilter above, I can still see this deleted-rowkey > be printed. > I try many times but the problem still alive. > You expect the delete to not show in the output? Delete is a cell like any other. Unless your filter blocks delete type cells, I am not surprised its output. Client-side, you don't see the delete or the puts it overshadows/deletes, right? St.Ack
