hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Helmling <ghelml...@gmail.com>
Subject Re: Coprocessors causes data access delay?
Date Tue, 29 Mar 2016 14:29:36 GMT
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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message