Due to the in memory locking system, you can take a row lock out on a row
that doesn't exist yet. This would allow you to lock a row, do an initial
set of mutations then release it.

I would caution against people using the explicit lock system. Waiting for a
lock costs scarce system resources, thus you can self-dos yourself if too
many clients wait for a row lock.

Consider using increment column value or the CAS methods and optimistic
locking to avoid long lived explicit locks.

On Sep 16, 2009 12:49 PM, "Jeyendran Balakrishnan" <
[email protected]> wrote:

What does
RowLock HTable.lockRow(byte[] row)
do when the row does not exist in the table?
- return null?
- throw an exception - generic IOException, or some subclass, or
IOException wrapping another cause ...?
- ??

Thanks,
jp

Reply via email to