Thanks so much! This describes exactly what I'm seeing. I did notice
extremely heavy load on the region server carrying .META., as described in
HBASE-6870:

In current logic, HTable#coprocessorExec always scan the whole table,
its efficiency
is low and will affect the Regionserver carrying .META. under large
coprocessorExec requests


Thanks again,
Kim
On Mon, Mar 4, 2013 at 8:08 PM, Stephen Boesch <java...@gmail.com> wrote:

> great question from Kim and follow-up/answers.
>
>
> 2013/3/4 Gary Helmling <ghelml...@gmail.com>
>
> > I see this is HBASE-6870.  I thought that sounded familiar.
> >
> >
> > On Mon, Mar 4, 2013 at 6:23 PM, Gary Helmling <ghelml...@gmail.com>
> wrote:
> >
> > >
> > > Check your logs for whether your end-point coprocessor is hitting
> > >> zookeeper on every invocation to figure out the region start key.
> > >> Unfortunately (at least last time I checked), the default way of
> > invoking
> > >> an end point coprocessor doesn't use the meta cache. You can go
> through
> > a
> > >> combination of the following instead:
> > >>     HRegionLocation regionLocation = retried ?
> > >>         connection.relocateRegion(**tableName, tableKey) :
> > >>         connection.locateRegion(**tableName, tableKey);
> > >>     ...
> > >> Then call HConnection.processExecs call, passing in the regionKeys
> from
> > >> above.
> > >> You can trap the error case of the region being relocated and try
> again
> > >> with retried = true and it'll update the meta data cache when
> > >> relocateRegion is called.
> > >>
> > >
> > >
> > > Any idea if we have an improvement logged in JIRA for this?  This is
> > > definitely something we should improve on.
> > >
> >
>

Reply via email to