Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase >> mail # user >> Batch returned value and exception handling.


+
Amit Sela 2013-03-14, 17:35
+
Jean-Marc Spaggiari 2013-03-14, 17:52
Copy link to this message
-
Re: Batch returned value and exception handling.
I did look at HConnectionManager and that is the reason I expected the
scenario you just described but running the test I ran from the development
environment (IntelliJ IDEA) I did not get any returned value, instead the
exception is thrown and after I catch it the result is null...

Object[] res = null;
try {
      res = table.batch(batch);
} catch (RetriesExhaustedWithDetailsException
retriesExhaustedWithDetailsException) {
      retriesExhaustedWithDetailsException.printStackTrace();
}
if (res == null) {
System.out.println("No results - returned null.");
return;
}

On Thu, Mar 14, 2013 at 7:52 PM, Jean-Marc Spaggiari <
[EMAIL PROTECTED]> wrote:

> Hi Amit,
>
> Just take a look at the processBatchCallback method in HConnectionManager.
>
> There you will see how the result is populated, and when an exception
> is returned.
>
> In your example below, if you look at the content of the returned
> array, you should see one cell with the result of the increment, and
> one cell with a Throwable into it.
>
> JM
>
> 2013/3/14 Amit Sela <[EMAIL PROTECTED]>:
> > Hi all,
> >
> > I did some testing with HTableInterface#batch() for batching Increments
> and
> > I was wondering about the returned value Object[].
> >
> > As I understand (or would expect), the returned value would be:
> >
> > null - all batch of increments failed.
> > An object in the array is null / is Exception - that increment has
> failed.
> >
> > So I ran some tests and executed a batch of two Increment Objects on two
> > different row keys, where one of them is valid and the other one has a
> > family that does not exist.
> > When calling HTableInterface#batch() I
> > get RetriesExhaustedWithDetailsException but looking at the counter in
> > HBase it looks like the valid increment was executed.
> >
> > Shouldn't I get an Object[2] where one of the objects is null
> > / RetriesExhaustedWithDetailsException ?
> >
> > How can I know # of success/failures in the batch ? What is the
> "contract"
> > here ?
> >
> > Thanks,
> >
> > Amit.
>
+
Jean-Marc Spaggiari 2013-03-14, 18:42
+
Jean-Marc Spaggiari 2013-03-14, 18:55
+
Ted Yu 2013-03-14, 20:37
+
Jean-Marc Spaggiari 2013-03-14, 22:36
+
Ted Yu 2013-03-14, 22:51
+
Jean-Marc Spaggiari 2013-03-15, 00:14
+
Ted Yu 2013-03-15, 00:21
+
Ted Yu 2013-03-14, 22:28
+
Amit Sela 2013-03-14, 19:11