You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by jd...@apache.org on 2016/10/27 23:09:10 UTC

[5/5] kudu git commit: [java client] KuduRpc.deserialize should throw KuduException

[java client] KuduRpc.deserialize should throw KuduException

A vestige of our use of Exceptions everywhere remained in KuduRpc where we
were sending them in deserialize. This change helps with the tracing work.

Change-Id: I8196e949d4686113c0cdd7b611b14898df9b3bb7
Reviewed-on: http://gerrit.cloudera.org:8080/4872
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <ad...@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/b333a36f
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/b333a36f
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/b333a36f

Branch: refs/heads/master
Commit: b333a36f12d019dbecb734cf2020d5f6f71fa26b
Parents: a7fd4fc
Author: Jean-Daniel Cryans <jd...@apache.org>
Authored: Thu Oct 27 10:44:51 2016 -0700
Committer: Jean-Daniel Cryans <jd...@apache.org>
Committed: Thu Oct 27 23:07:45 2016 +0000

----------------------------------------------------------------------
 .../apache/kudu/client/AlterTableRequest.java   |  2 +-
 .../org/apache/kudu/client/AsyncKuduClient.java |  2 +-
 .../apache/kudu/client/AsyncKuduScanner.java    |  2 +-
 .../main/java/org/apache/kudu/client/Batch.java |  3 +--
 .../apache/kudu/client/CreateTableRequest.java  |  2 +-
 .../apache/kudu/client/DeleteTableRequest.java  |  2 +-
 .../client/GetMasterRegistrationRequest.java    |  2 +-
 .../kudu/client/GetTableLocationsRequest.java   |  2 +-
 .../kudu/client/GetTableSchemaRequest.java      |  2 +-
 .../kudu/client/IsAlterTableDoneRequest.java    |  2 +-
 .../kudu/client/IsCreateTableDoneRequest.java   |  2 +-
 .../java/org/apache/kudu/client/KuduRpc.java    | 13 ++++++-----
 .../apache/kudu/client/ListTablesRequest.java   |  2 +-
 .../kudu/client/ListTabletServersRequest.java   |  2 +-
 .../apache/kudu/client/ListTabletsRequest.java  |  4 +---
 .../java/org/apache/kudu/client/Operation.java  |  3 +--
 .../org/apache/kudu/client/PingRequest.java     |  2 +-
 .../org/apache/kudu/client/TabletClient.java    | 24 ++++++++++----------
 18 files changed, 35 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
index 41eb1a1..8e6cb7f 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableRequest.java
@@ -66,7 +66,7 @@ class AlterTableRequest extends KuduRpc<AlterTableResponse> {
 
   @Override
   Pair<AlterTableResponse, Object> deserialize(final CallResponse callResponse,
-                                                String tsUUID) throws Exception {
+                                                String tsUUID) throws KuduException {
     final AlterTableResponsePB.Builder respBuilder = AlterTableResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);
     AlterTableResponse response = new AlterTableResponse(

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
index 35cd9d6..74de993 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
@@ -420,7 +420,7 @@ public class AsyncKuduClient implements AutoCloseable {
 
       @Override
       Pair<KuduTable, Object> deserialize(CallResponse callResponse, String tsUUID)
-          throws Exception { return null; }
+          throws KuduException { return null; }
     };
     fakeRpc.setTimeoutMillis(defaultAdminOperationTimeoutMs);
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
index b51394a..3864088 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
@@ -751,7 +751,7 @@ public final class AsyncKuduScanner {
 
     @Override
     Pair<Response, Object> deserialize(final CallResponse callResponse,
-                                       String tsUUID) throws Exception {
+                                       String tsUUID) throws KuduException {
       ScanResponsePB.Builder builder = ScanResponsePB.newBuilder();
       readProtobuf(callResponse.getPBMessage(), builder);
       ScanResponsePB resp = builder.build();

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java b/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
index 01bc113..8dacdd7 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java
@@ -33,7 +33,6 @@ import org.apache.kudu.client.Statistics.TabletStatistics;
 import org.apache.kudu.tserver.Tserver;
 import org.apache.kudu.tserver.Tserver.TabletServerErrorPB;
 import org.apache.kudu.util.Pair;
-import org.apache.kudu.util.Slice;
 
 /**
  * Used internally to group Operations for a single tablet together before sending to the tablet
@@ -108,7 +107,7 @@ class Batch extends KuduRpc<BatchResponse> {
 
   @Override
   Pair<BatchResponse, Object> deserialize(CallResponse callResponse,
-                                          String tsUUID) throws Exception {
+                                          String tsUUID) throws KuduException {
     Tserver.WriteResponsePB.Builder builder = Tserver.WriteResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), builder);
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
index 6dc00cb..59aefa7 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
@@ -67,7 +67,7 @@ class CreateTableRequest extends KuduRpc<CreateTableResponse> {
 
   @Override
   Pair<CreateTableResponse, Object> deserialize(final CallResponse callResponse,
-                                                String tsUUID) throws Exception {
+                                                String tsUUID) throws KuduException {
     final Master.CreateTableResponsePB.Builder builder = Master.CreateTableResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), builder);
     CreateTableResponse response =

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
index 8060d54..dda31f6 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/DeleteTableRequest.java
@@ -57,7 +57,7 @@ class DeleteTableRequest extends KuduRpc<DeleteTableResponse> {
 
   @Override
   Pair<DeleteTableResponse, Object> deserialize(CallResponse callResponse,
-                                                String tsUUID) throws Exception {
+                                                String tsUUID) throws KuduException {
     final Master.DeleteTableResponsePB.Builder builder = Master.DeleteTableResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), builder);
     DeleteTableResponse response =

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/GetMasterRegistrationRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetMasterRegistrationRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetMasterRegistrationRequest.java
index 2e76e30..c28e792 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetMasterRegistrationRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetMasterRegistrationRequest.java
@@ -53,7 +53,7 @@ public class GetMasterRegistrationRequest extends KuduRpc<GetMasterRegistrationR
 
   @Override
   Pair<GetMasterRegistrationResponse, Object> deserialize(CallResponse callResponse,
-                                                          String tsUUID) throws Exception {
+                                                          String tsUUID) throws KuduException {
     final GetMasterRegistrationResponsePB.Builder respBuilder =
         GetMasterRegistrationResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
index 1bc2a14..b535d6d 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableLocationsRequest.java
@@ -58,7 +58,7 @@ class GetTableLocationsRequest extends KuduRpc<Master.GetTableLocationsResponseP
   @Override
   Pair<Master.GetTableLocationsResponsePB, Object> deserialize(
       final CallResponse callResponse, String tsUUID)
-      throws Exception {
+      throws KuduException {
     Master.GetTableLocationsResponsePB.Builder builder = Master.GetTableLocationsResponsePB
         .newBuilder();
     readProtobuf(callResponse.getPBMessage(), builder);

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
index d76b24a..11a8405 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
@@ -58,7 +58,7 @@ public class GetTableSchemaRequest extends KuduRpc<GetTableSchemaResponse> {
 
   @Override
   Pair<GetTableSchemaResponse, Object> deserialize(CallResponse callResponse,
-                                                   String tsUUID) throws Exception {
+                                                   String tsUUID) throws KuduException {
     final GetTableSchemaResponsePB.Builder respBuilder = GetTableSchemaResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);
     Schema schema = ProtobufHelper.pbToSchema(respBuilder.getSchema());

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
index d923984..dd42fe0 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/IsAlterTableDoneRequest.java
@@ -58,7 +58,7 @@ class IsAlterTableDoneRequest extends KuduRpc<IsAlterTableDoneResponse> {
 
   @Override
   Pair<IsAlterTableDoneResponse, Object> deserialize(final CallResponse callResponse,
-                                                       String tsUUID) throws Exception {
+                                                       String tsUUID) throws KuduException {
     final IsAlterTableDoneResponsePB.Builder respBuilder = IsAlterTableDoneResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);
     IsAlterTableDoneResponse resp = new IsAlterTableDoneResponse(deadlineTracker.getElapsedMillis(),

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
index 61b9ef6..bfd6db9 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java
@@ -46,7 +46,7 @@ class IsCreateTableDoneRequest extends KuduRpc<Master.IsCreateTableDoneResponseP
 
   @Override
   Pair<Master.IsCreateTableDoneResponsePB, Object> deserialize(
-      final CallResponse callResponse, String tsUUID) throws Exception {
+      final CallResponse callResponse, String tsUUID) throws KuduException {
     Master.IsCreateTableDoneResponsePB.Builder builder = Master.IsCreateTableDoneResponsePB
         .newBuilder();
     readProtobuf(callResponse.getPBMessage(), builder);

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java
index 8b5c0df..5ae3f56 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java
@@ -149,14 +149,15 @@ public abstract class KuduRpc<R> {
    * Notice that this method is package-private, so only classes within this
    * package can use this as a base class.
    *
-   * @param callResponse The call response from which to deserialize.
-   * @param tsUUID A string that contains the UUID of the server that answered the RPC.
-   * @return An Object of type R that will be sent to callback and an Object that will be an Error
+   * @param callResponse the call response from which to deserialize
+   * @param tsUUID a string that contains the UUID of the server that answered the RPC
+   * @return an Object of type R that will be sent to callback and an Object that will be an Error
    * of type TabletServerErrorPB or MasterErrorPB that will be converted into an exception and
-   * sent to errback.
-   * @throws Exception An exception that will be sent to errback.
+   * sent to errback
+   * @throws KuduException an exception that will be sent to errback
    */
-  abstract Pair<R, Object> deserialize(CallResponse callResponse, String tsUUID) throws Exception;
+  abstract Pair<R, Object> deserialize(CallResponse callResponse, String tsUUID)
+      throws KuduException;
 
   /**
    * Update the statistics information before this rpc is called back. This method should not throw

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
index 61b27c8..470f45d 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
@@ -56,7 +56,7 @@ class ListTablesRequest extends KuduRpc<ListTablesResponse> {
 
   @Override
   Pair<ListTablesResponse, Object> deserialize(CallResponse callResponse,
-                                               String tsUUID) throws Exception {
+                                               String tsUUID) throws KuduException {
     final Master.ListTablesResponsePB.Builder respBuilder =
         Master.ListTablesResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletServersRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletServersRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletServersRequest.java
index 4c6a7c9..c16c223 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletServersRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletServersRequest.java
@@ -50,7 +50,7 @@ public class ListTabletServersRequest extends KuduRpc<ListTabletServersResponse>
 
   @Override
   Pair<ListTabletServersResponse, Object> deserialize(CallResponse callResponse,
-                                                      String tsUUID) throws Exception {
+                                                      String tsUUID) throws KuduException {
     final ListTabletServersResponsePB.Builder respBuilder =
         ListTabletServersResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletsRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletsRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletsRequest.java
index f8b835d..1fe3d4d 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletsRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletsRequest.java
@@ -18,9 +18,7 @@ package org.apache.kudu.client;
 
 import com.google.protobuf.Message;
 import org.apache.kudu.annotations.InterfaceAudience;
-import org.apache.kudu.tablet.Tablet;
 import org.apache.kudu.tserver.Tserver;
-import org.apache.kudu.tserver.TserverService;
 import org.apache.kudu.util.Pair;
 import org.jboss.netty.buffer.ChannelBuffer;
 
@@ -52,7 +50,7 @@ class ListTabletsRequest extends KuduRpc<ListTabletsResponse> {
 
   @Override
   Pair<ListTabletsResponse, Object> deserialize(CallResponse callResponse,
-                                               String tsUUID) throws Exception {
+                                               String tsUUID) throws KuduException {
     final Tserver.ListTabletsResponsePB.Builder respBuilder =
         Tserver.ListTabletsResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java b/java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java
index f0bd71a..512bddd 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java
@@ -32,7 +32,6 @@ import org.apache.kudu.client.Statistics.Statistic;
 import org.apache.kudu.client.Statistics.TabletStatistics;
 import org.apache.kudu.tserver.Tserver;
 import org.apache.kudu.util.Pair;
-import org.apache.kudu.util.Slice;
 import org.jboss.netty.buffer.ChannelBuffer;
 
 import java.nio.ByteBuffer;
@@ -139,7 +138,7 @@ public abstract class Operation extends KuduRpc<OperationResponse> {
 
   @Override
   Pair<OperationResponse, Object> deserialize(CallResponse callResponse,
-                                              String tsUUID) throws Exception {
+                                              String tsUUID) throws KuduException {
     Tserver.WriteResponsePB.Builder builder = Tserver.WriteResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), builder);
     Tserver.WriteResponsePB.PerRowErrorPB error = null;

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/PingRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/PingRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/PingRequest.java
index 31a3f2f..79e788b 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/PingRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/PingRequest.java
@@ -64,7 +64,7 @@ class PingRequest extends KuduRpc<PingResponse> {
   }
 
   @Override
-  Pair<PingResponse, Object> deserialize(CallResponse callResponse, String tsUUID) throws Exception {
+  Pair<PingResponse, Object> deserialize(CallResponse callResponse, String tsUUID) throws KuduException {
     final Master.PingResponsePB.Builder respBuilder =
         Master.PingResponsePB.newBuilder();
     readProtobuf(callResponse.getPBMessage(), respBuilder);

http://git-wip-us.apache.org/repos/asf/kudu/blob/b333a36f/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java
index 822fac6..5ff5e98 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java
@@ -421,7 +421,7 @@ public class TabletClient extends ReplayingDecoder<VoidEnum> {
     }
 
     Pair<Object, Object> decoded = null;
-    Exception exception = null;
+    KuduException exception = null;
     Status retryableHeaderError = Status.OK();
     if (header.hasIsError() && header.getIsError()) {
       RpcHeader.ErrorStatusPB.Builder errorBuilder = RpcHeader.ErrorStatusPB.newBuilder();
@@ -441,7 +441,7 @@ public class TabletClient extends ReplayingDecoder<VoidEnum> {
     } else {
       try {
         decoded = rpc.deserialize(response, this.serverInfo.getUuid());
-      } catch (Exception ex) {
+      } catch (KuduException ex) {
         exception = ex;
       }
     }
@@ -521,12 +521,12 @@ public class TabletClient extends ReplayingDecoder<VoidEnum> {
   /**
    * Takes care of a few kinds of TS errors that we handle differently, like tablets or leaders
    * moving. Builds and returns an exception if we don't know what to do with it.
-   * @param rpc The original RPC call that triggered the error.
-   * @param error The error the TS sent.
-   * @return An exception if we couldn't dispatch the error, or null.
+   * @param rpc the original RPC call that triggered the error
+   * @param error the error the TS sent
+   * @return an exception if we couldn't dispatch the error, or null
    */
-  private Exception dispatchTSErrorOrReturnException(KuduRpc rpc,
-                                                     Tserver.TabletServerErrorPB error) {
+  private KuduException dispatchTSErrorOrReturnException(KuduRpc rpc,
+                                                         Tserver.TabletServerErrorPB error) {
     WireProtocol.AppStatusPB.ErrorCode code = error.getStatus().getCode();
     Status status = Status.fromTabletServerErrorPB(error);
     if (error.getCode() == Tserver.TabletServerErrorPB.Code.TABLET_NOT_FOUND) {
@@ -547,12 +547,12 @@ public class TabletClient extends ReplayingDecoder<VoidEnum> {
   /**
    * Provides different handling for various kinds of master errors: re-uses the
    * mechanisms already in place for handling tablet server errors as much as possible.
-   * @param rpc The original RPC call that triggered the error.
-   * @param error The error the master sent.
-   * @return An exception if we couldn't dispatch the error, or null.
+   * @param rpc the original RPC call that triggered the error
+   * @param error the error the master sent
+   * @return an exception if we couldn't dispatch the error, or null
    */
-  private Exception dispatchMasterErrorOrReturnException(KuduRpc rpc,
-                                                         Master.MasterErrorPB error) {
+  private KuduException dispatchMasterErrorOrReturnException(KuduRpc rpc,
+                                                             Master.MasterErrorPB error) {
     WireProtocol.AppStatusPB.ErrorCode code = error.getStatus().getCode();
     Status status = Status.fromMasterErrorPB(error);
     if (error.getCode() == Master.MasterErrorPB.Code.NOT_THE_LEADER) {