Hi Mike,

do you have a specific downside in mind?The built-in checkAndSet type 
operations do the same.
Coprocessors are an extension mechanism for HBase, not to be compared with 
(say) server side stored procedures in relational databases.

(the canonical example is that nothing stops a RegionObserver implementation 
from calling System.exit(), taking the RegionServer with it).


-- Lars



----- Original Message -----
From: Michael Segel <[email protected]>
To: [email protected]; lars hofhansl <[email protected]>
Cc: 
Sent: Tuesday, August 7, 2012 5:54 PM
Subject: Re: CheckAndAppend Feature

While this may be a trivial fix, have you considered possible down sides to the 
implementation?

I'm not sure its a bad idea, but one that could have some potential issues when 
put into practice. 

-Mike

On Aug 7, 2012, at 7:30 PM, lars hofhansl <[email protected]> wrote:

> I filed HBASE-6522. It is a trivial change to make locks and leases available 
> to coprocessors.
> So checkAndSet type operations can then be implemented via coprocessor 
> endpoints: lock row, check, fail or update, unlock row.
> 
> Since the patch is so simple I'll commit that soon (to 0.94.2 and 0.96)
> 
> 
> -- Lars
> 
> ________________________________
> From: lars hofhansl <[email protected]>
> To: "[email protected]" <[email protected]> 
> Sent: Tuesday, August 7, 2012 8:55 AM
> Subject: Re: CheckAndAppend Feature
> 
> There is no such functionality currently, and there is no good way to 
> simulate that.
> 
> Currently that cannot even be done with a coprocessor endpoint, because 
> region coprocessors have no way to create a region lock (just checked the 
> code).
> (That is something we have to change I think - I will create an issue once 
> the Jira system is back from the walk in the park).
> 
> -- Lars
> 
> 
> ----- Original Message -----
> From: Jerry Lam <[email protected]>
> To: user <[email protected]>
> Cc: 
> Sent: Tuesday, August 7, 2012 8:22 AM
> Subject: CheckAndAppend Feature
> 
> Hi HBase community:
> 
> I checked the HTable API, it has checkAndPut and checkAndDelete but I'm
> looking for checkAndAppend. Is there a way to simulate similarly?
> For instance, I want to check the last 32 bytes of a value (let assume that
> it has 128 bytes in total) in a column before appending atomically some
> values into it.
> 
> Thanks!
> 
> Jerry
> 

Reply via email to