The docs for Get.setFilter() say that "Only Filter.filterKeyValue(KeyValue) is 
called 
AFTER all tests for ttl, column match, deletes and max versions have been run."

The docs for Filter.filterRow() say that it will be invoked as the final chance 
to
filter a row (without regard to it being a Scan or Get).

My debugging suggests that Filter.filterRow() is not called for a Get
(consistent with the Get docs but inconsistent with the Filter docs). 
That is problematic if you are building state with calls to 
filterKeyValue() and make a final determination in filterRow().
If filterRow() is not called, then you are unable to write a filter that refers 
to
multiple KeyValues.  

My question: is it intentional that filterRow() is not called for Gets?
It seems that filter behavior asymmetry between Scan and Get is a problem 
(assuming this was intentional rather than a bug).

Thanks,
Paul

Reply via email to