Can you paste the compelte stacktrace here with the causes too? I will try you piece of code locally to try to reproduce.
JM 2013/3/14 Amit Sela <[email protected]>: > 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. >>
