@@ -431,7 +431,7 @@ private abstract class TableExecuteCallback<T> {
431431 this .rowKey = rowKey ;
432432 }
433433
434- void checkObTableOperationResult (String ip , int port , ObPayload result ) {
434+ void checkObTableOperationResult (String ip , int port , ObPayload request , ObPayload result ) {
435435
436436 if (result == null ) {
437437 RUNTIME .error ("client get unexpected NULL result" );
@@ -445,12 +445,12 @@ void checkObTableOperationResult(String ip, int port, ObPayload result) {
445445 }
446446
447447 ObTableOperationResult obTableOperationResult = (ObTableOperationResult ) result ;
448+ ObTableOperationRequest obTableOperationRequest = (ObTableOperationRequest ) request ;
448449 obTableOperationResult .setExecuteHost (ip );
449450 obTableOperationResult .setExecutePort (port );
450- ExceptionUtil
451- .throwObTableException (ip , port , obTableOperationResult .getSequence (),
452- obTableOperationResult .getUniqueId (), obTableOperationResult .getHeader ()
453- .getErrno ());
451+ long sequence = obTableOperationResult .getSequence () == 0 ? obTableOperationRequest .getSequence () : obTableOperationResult .getSequence ();
452+ long uniqueId = obTableOperationResult .getUniqueId () == 0 ? obTableOperationRequest .getUniqueId () : obTableOperationResult .getUniqueId ();
453+ ExceptionUtil .throwObTableException (ip , port , sequence , uniqueId , obTableOperationResult .getHeader ().getErrno ());
454454 }
455455
456456 void checkObTableQueryAndMutateResult (String ip , int port , ObPayload result ) {
@@ -575,19 +575,20 @@ private abstract class MutationExecuteCallback<T> {
575575 this .keyRanges = keyRanges ;
576576 }
577577
578- void checkResult (String ip , int port , ObPayload result ) {
578+ void checkResult (String ip , int port , ObPayload request , ObPayload result ) {
579579 if (result == null ) {
580580 RUNTIME .error ("client get unexpected NULL result" );
581581 throw new ObTableException ("client get unexpected NULL result" );
582582 }
583583
584584 if (result instanceof ObTableOperationResult ) {
585585 ObTableOperationResult obTableOperationResult = (ObTableOperationResult ) result ;
586+ ObTableOperationRequest obTableOperationRequest = (ObTableOperationRequest ) request ;
586587 obTableOperationResult .setExecuteHost (ip );
587588 obTableOperationResult .setExecutePort (port );
588- ExceptionUtil . throwObTableException ( ip , port , obTableOperationResult .getSequence (),
589- obTableOperationResult .getUniqueId (), obTableOperationResult .getHeader ()
590- .getErrno ());
589+ long sequence = obTableOperationResult . getSequence () == 0 ? obTableOperationRequest . getSequence () : obTableOperationResult .getSequence ();
590+ long uniqueId = obTableOperationResult .getUniqueId () == 0 ? obTableOperationRequest . getUniqueId () : obTableOperationResult .getUniqueId ();
591+ ExceptionUtil . throwObTableException ( ip , port , sequence , uniqueId , obTableOperationResult . getHeader () .getErrno ());
591592 } else if (result instanceof ObTableQueryAndMutateResult ) {
592593 // TODO: Add func like throwObTableException()
593594 // which will output the ip / port / error information
@@ -1493,7 +1494,7 @@ public Map<String, Object> execute(ObPair<Long, ObTable> obPair) throws Exceptio
14931494 request .setPartitionId (partId );
14941495 request .setConsistencyLevel (obReadConsistency .toObTableConsistencyLevel ());
14951496 ObPayload result = obPair .getRight ().execute (request );
1496- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
1497+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
14971498
14981499 String endpoint = obTable .getIp () + ":" + obTable .getPort ();
14991500 MONITOR .info (logMessage (tableName , "GET" , endpoint , rowKey ,
@@ -1535,7 +1536,7 @@ public Long execute(ObPair<Long, ObTable> obPair) throws Exception {
15351536 MONITOR .info (logMessage (tableName , "UPDATE" , endpoint , rowKey ,
15361537 (ObTableOperationResult ) result , getTableTime - start ,
15371538 System .currentTimeMillis () - getTableTime ));
1538- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
1539+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
15391540 return ((ObTableOperationResult ) result ).getAffectedRows ();
15401541 }
15411542 });
@@ -1574,7 +1575,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
15741575 MONITOR .info (logMessage (tableName , "UPDATE" , endpoint , rowKey ,
15751576 (ObTableOperationResult ) result , TableTime - start ,
15761577 System .currentTimeMillis () - TableTime ));
1577- checkResult (obTable .getIp (), obTable .getPort (), result );
1578+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
15781579 return result ;
15791580 }
15801581 });
@@ -1686,7 +1687,7 @@ public Long execute(ObPair<Long, ObTable> obPair) throws Exception {
16861687 MONITOR .info (logMessage (tableName , "DELETE" , endpoint , rowKey ,
16871688 (ObTableOperationResult ) result , getTableTime - start ,
16881689 System .currentTimeMillis () - getTableTime ));
1689- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
1690+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
16901691 return ((ObTableOperationResult ) result ).getAffectedRows ();
16911692 }
16921693 });
@@ -1722,7 +1723,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
17221723 MONITOR .info (logMessage (tableName , "DELETE" , endpoint , rowKey ,
17231724 (ObTableOperationResult ) result , TableTime - start ,
17241725 System .currentTimeMillis () - TableTime ));
1725- checkResult (obTable .getIp (), obTable .getPort (), result );
1726+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
17261727 return result ;
17271728 }
17281729 });
@@ -1759,7 +1760,7 @@ public Long execute(ObPair<Long, ObTable> obPair) throws Exception {
17591760 MONITOR .info (logMessage (tableName , "INSERT" , endpoint , rowKey ,
17601761 (ObTableOperationResult ) result , getTableTime - start ,
17611762 System .currentTimeMillis () - getTableTime ));
1762- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
1763+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
17631764 return ((ObTableOperationResult ) result ).getAffectedRows ();
17641765 }
17651766 });
@@ -1798,7 +1799,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
17981799 MONITOR .info (logMessage (tableName , "INSERT" , endpoint , rowKey ,
17991800 (ObTableOperationResult ) result , TableTime - start ,
18001801 System .currentTimeMillis () - TableTime ));
1801- checkResult (obTable .getIp (), obTable .getPort (), result );
1802+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
18021803 return result ;
18031804 }
18041805 });
@@ -1835,7 +1836,7 @@ public Long execute(ObPair<Long, ObTable> obPair) throws Exception {
18351836 MONITOR .info (logMessage (tableName , "REPLACE" , endpoint , rowKey ,
18361837 (ObTableOperationResult ) result , getTableTime - start ,
18371838 System .currentTimeMillis () - getTableTime ));
1838- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
1839+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
18391840 return ((ObTableOperationResult ) result ).getAffectedRows ();
18401841 }
18411842 });
@@ -1874,7 +1875,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
18741875 MONITOR .info (logMessage (tableName , "REPLACE" , endpoint , rowKey ,
18751876 (ObTableOperationResult ) result , TableTime - start ,
18761877 System .currentTimeMillis () - TableTime ));
1877- checkResult (obTable .getIp (), obTable .getPort (), result );
1878+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
18781879 return result ;
18791880 }
18801881 });
@@ -1911,7 +1912,7 @@ public Long execute(ObPair<Long, ObTable> obPair) throws Exception {
19111912 MONITOR .info (logMessage (tableName , "INERT_OR_UPDATE" , endpoint , rowKey ,
19121913 (ObTableOperationResult ) result , getTableTime - start ,
19131914 System .currentTimeMillis () - getTableTime ));
1914- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
1915+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
19151916 return ((ObTableOperationResult ) result ).getAffectedRows ();
19161917 }
19171918 });
@@ -1951,7 +1952,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
19511952 MONITOR .info (logMessage (tableName , "INERT_OR_UPDATE" , endpoint , rowKey ,
19521953 (ObTableOperationResult ) result , TableTime - start ,
19531954 System .currentTimeMillis () - TableTime ));
1954- checkResult (obTable .getIp (), obTable .getPort (), result );
1955+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
19551956 return result ;
19561957 }
19571958 });
@@ -2000,7 +2001,7 @@ public Map<String, Object> execute(ObPair<Long, ObTable> obPair) throws Exceptio
20002001 MONITOR .info (logMessage (tableName , "INCREMENT" , endpoint , rowKey ,
20012002 (ObTableOperationResult ) result , getTableTime - start ,
20022003 System .currentTimeMillis () - getTableTime ));
2003- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
2004+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
20042005 return ((ObTableOperationResult ) result ).getEntity ().getSimpleProperties ();
20052006 }
20062007 });
@@ -2045,7 +2046,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
20452046 MONITOR .info (logMessage (tableName , "INCREMENT" , endpoint , rowKey ,
20462047 (ObTableOperationResult ) result , TableTime - start ,
20472048 System .currentTimeMillis () - TableTime ));
2048- checkResult (obTable .getIp (), obTable .getPort (), result );
2049+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
20492050 return result ;
20502051 }
20512052 });
@@ -2079,7 +2080,7 @@ public Map<String, Object> execute(ObPair<Long, ObTable> obPair) throws Exceptio
20792080 MONITOR .info (logMessage (tableName , "APPEND" , endpoint , rowKey ,
20802081 (ObTableOperationResult ) result , getTableTime - start ,
20812082 System .currentTimeMillis () - getTableTime ));
2082- checkObTableOperationResult (obTable .getIp (), obTable .getPort (), result );
2083+ checkObTableOperationResult (obTable .getIp (), obTable .getPort (), request , result );
20832084 return ((ObTableOperationResult ) result ).getEntity ().getSimpleProperties ();
20842085 }
20852086 });
@@ -2119,7 +2120,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
21192120 MONITOR .info (logMessage (tableName , "APPEND" , endpoint , rowKey ,
21202121 (ObTableOperationResult ) result , TableTime - start ,
21212122 System .currentTimeMillis () - TableTime ));
2122- checkResult (obTable .getIp (), obTable .getPort (), result );
2123+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
21232124 return result ;
21242125 }
21252126 });
@@ -2180,7 +2181,7 @@ public ObPayload execute(ObPair<Long, ObTable> obPair) throws Exception {
21802181 MONITOR .info (logMessage (tableQuery .toString (), type .toString (), endpoint ,
21812182 curRowKey , (ObTableQueryAndMutateResult ) result , TableTime - start ,
21822183 System .currentTimeMillis () - TableTime ));
2183- checkResult (obTable .getIp (), obTable .getPort (), result );
2184+ checkResult (obTable .getIp (), obTable .getPort (), request , result );
21842185 return result ;
21852186 }
21862187 });
0 commit comments