hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anoop John <anoop.hb...@gmail.com>
Subject Re: Coprocessors causes data access delay?
Date Fri, 01 Apr 2016 08:47:41 GMT
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 <jozo.vilcek@gmail.com> 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 <yuzhihong@gmail.com> 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 <jozo.vilcek@gmail.com> 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
>>

Mime
View raw message