Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # dev >> checkAndPut, checkAndDelete


Copy link to this message
-
RE: checkAndPut, checkAndDelete
Hi Dishant

In my first point the check on the client side what I meant is
{code}
    if (!Bytes.equals(row, r.getRow())) {
      throw new DoNotRetryIOException("Action's getRow must match the passed
row");
    }
{code}
Currently there is a check happening in server side before even we get the
lock.  I thought this check can be moved to client because the row passed in
the param and the one in
Delete/Put are expected to be same.

But seeing the code I felt like we are trying to check the same row only.  I
did not mean to compare the family and qualifier, the row is expected to be
same as per the above code.
So I meant that the row need not be passed explicity.

Regards
Ram

> -----Original Message-----
> From: Dishant A [mailto:[EMAIL PROTECTED]]
> Sent: Monday, July 02, 2012 7:34 PM
> To: [EMAIL PROTECTED]
> Subject: Re: checkAndPut, checkAndDelete
>
> Hi Ram,
>
> 1) Can you do this check on client side?
> You can't, because this operation is supposed to be atomic and if you
> do a
> get and the value changes on server side in the meantime, you will be
> doing
> it wrong.
>
>
> 2) Can we just use the row that is stuffed inside the Put/Delete?
> (Anyway this change will be an api change).
>
> This lose the case when you want to check the value of column A and
> based
> on it change the value of column B. So again we can't.
>
> Hope this helps.
>
> Thanks,
> Dishant
>
> On Mon, Jul 2, 2012 at 4:44 AM, Ramkrishna.S.Vasudevan <
> [EMAIL PROTECTED]> wrote:
>
> > Hi Devs
> >
> >
> >
> > Currently the checkAndPut, checkAndDelete these api currently accept
> the
> > row
> > that needs to be checked and the Delete/Put also along with it.
> >
> >
> >
> > Again internally in the code HRegion.checkAndMutate() there is a
> > verification to find if the row passed and the one inside the
> > Mutate(Put/Delete) object are same.  If not throw an exception.
> >
> >
> >
> > 1)      Can we do this check on the client side itself?
> >
> > 2)      Can we just use the row that is stuffed inside the
> Put/Delete?
> > (Anyway this change will be an api change).
> >
> >
> >
> > Pls correct me if am missing something here.
> >
> >
> >
> > Regards
> >
> > Ram
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB