hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Purtell <apurt...@apache.org>
Subject Re: EndPoint Coprocessor could be dealocked?
Date Wed, 16 May 2012 18:17:41 GMT
> On May 16, 2012, at 1:12 AM, fding hbase wrote:
>> But sadly, HBase ipc doesn't allow coprocessor chaining mechanism...
>> Someone mentioned on
>> http://grokbase.com/t/hbase/user/116hrhhf8m/coprocessor-failure-question-and-examples
>> :
>> If a RegionObserver issues RPC to another table from any of the hooks that
>> are called out of RPC handlers (for Gets, Puts, Deletes, etc.), you risk
>> deadlock. Whatever activity you want to check should be in the same
>> region as account data to avoid that.
>> (Or HBase RPC needs to change.)
>> So, that means, the deadlock is inevitable under current circumstance. The
>> coprocessors are still limited.
>> What I'm seeking is possible extensions of coprocessors or workaround for
>> such situations that extra RPC is needed in the RPC handlers.

This isn't a limitation, this is a design choice. Such extensions of
coprocessors most likely won't happen. What a RegionObserver allows
you to do is exactly this: Intercept and potentially modify lifecycle
or user operations on that single region alone. If it helps, think of
each region as its own independent database.

If you need to take cross-region actions according to some user
action, then you should be looking first at extending the client, not
the server.

Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet
Hein (via Tom White)

View raw message