Can you provide us the code u have written for the pre hooks + the custom filter code. You sure the filter is not filtering out this recent cell? Add some logs there and check?
-Anoop- On Thu, Mar 31, 2016 at 12:57 PM, Jozef Vilcek <[email protected]> wrote: > Test was done via hbase shell prompt. I am not sure on it's behavior. Can > it hide some timeouts and return nothing? I hope not. > I will try to reproduce it with java API. > > Coprocessor does not do anything asynchronous in it's hooks. It is hooked > only on preStoreScannerOpen, preFlushScannerOpen, preCompactScannerOpen. > What it does is, create a StoreScanner with custom filter, which skips > certain cells based on fixed rules line qualifier name pattern or how old > cell is. > > >> Do you wait for the Put to return before you issue the Get? Or have you >> disabled auto flushing on your table instance -- HTable.setAutoFlush(false)? > >> Coprocessor hooks executed on the Put and Get paths are blocking, so unless >> you're overriding normal processing in the prePut() hook and doing >> something asynchronous, the Put should be there by the time it returns to >> the client. But it all depends on what is your coprocessor actually >> doing. Can you tell us more about that? > >> On Tue, Mar 29, 2016 at 6:22 AM Ted Yu <[email protected]> wrote: > >> > Is it possible to come up with unit test showing this behavior using> > >> > simplified coprocessor ?> >> > Thanks> >> > > On Mar 29, 2016, at 5:42 AM, >> > Jozef Vilcek <[email protected]> wrote:> > >> > > Hi,> > >> > > I need >> > a help to shed some light on following observation:> > >> > > Through >> > hbase shell I do PUT to a non existing cell (create) and> > immediate> > > >> > GET.> > > When doing this against hbase table without a coprocessor, every >> > GET> > shows> > > the value immediately. When I enable a coprocessor on >> > the table and> > > perform> > > the same check, I do not get a value for >> > every GET. Sometimes GET returns> > > nothing, like cell is not there. If >> > I delay GET few minutes after PUT,> > then> > > data are correctly >> > retrieved.> > >> > > I want to understand what is going on.> > > Is >> > coprocessor is doing something wrong? Is this somehow normal? or ... ?> > >> > >> > > Coprocessor is a RegionObserver doing data filtering / expiration >> > based> > on> > > predefined rules.> > > HBase version is 1.0.0 from >> > cloudera cdh5.5.1 distibution.> > >> > > Thanks,> > > Jozo >>
