Hello Adar Dembo, Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/3055 to look at the new patch set (#9). Change subject: [java client] Redo how we manage exceptions ...................................................................... [java client] Redo how we manage exceptions Right now the exceptions are hard to handle in the Java client. They're all generic and you need to do a lot of introspection. For example, if you try to create a table that already exists, you need to start searching the exception's message to know if it's that or some other problem that gave you the error. With this patch we now only one main kind of public exception: KuduException. We still have Recoverable/NonRecoverableException but those are now package-private and only used internally. PleaseThrottleException is kept public for the async API. KuduException has a new field, `status`, which is your regular Kudu Status object. Wherever we can we try to recreate the Status objects that are sent to us from the servers, else we create our own. Now for the example above we can just query the exception's status with `isNotFound()`. The sync APIs is also modified to only throw KuduExceptions instead of plain Exceptions. Change-Id: Iba6e8a022d7a5391c3657cbdc9d3f06f951be048 --- M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduSession.java D java/kudu-client/src/main/java/org/kududb/client/ConnectionResetException.java M java/kudu-client/src/main/java/org/kududb/client/GetMasterRegistrationReceived.java D java/kudu-client/src/main/java/org/kududb/client/InvalidResponseException.java M java/kudu-client/src/main/java/org/kududb/client/KuduClient.java M java/kudu-client/src/main/java/org/kududb/client/KuduException.java M java/kudu-client/src/main/java/org/kududb/client/KuduRpc.java M java/kudu-client/src/main/java/org/kududb/client/KuduScanner.java D java/kudu-client/src/main/java/org/kududb/client/KuduServerException.java M java/kudu-client/src/main/java/org/kududb/client/KuduSession.java D java/kudu-client/src/main/java/org/kududb/client/MasterErrorException.java M java/kudu-client/src/main/java/org/kududb/client/NoLeaderMasterFoundException.java M java/kudu-client/src/main/java/org/kududb/client/NonCoveredRangeException.java M java/kudu-client/src/main/java/org/kududb/client/NonRecoverableException.java M java/kudu-client/src/main/java/org/kududb/client/PleaseThrottleException.java M java/kudu-client/src/main/java/org/kududb/client/RecoverableException.java M java/kudu-client/src/main/java/org/kududb/client/RowResultIterator.java M java/kudu-client/src/main/java/org/kududb/client/Status.java M java/kudu-client/src/main/java/org/kududb/client/TabletClient.java D java/kudu-client/src/main/java/org/kududb/client/TabletServerErrorException.java M java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/kududb/client/TestKuduSession.java M java/kudu-client/src/test/java/org/kududb/client/TestKuduTable.java M java/kudu-client/src/test/java/org/kududb/client/TestTimeouts.java 26 files changed, 401 insertions(+), 520 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/55/3055/9 -- To view, visit http://gerrit.cloudera.org:8080/3055 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iba6e8a022d7a5391c3657cbdc9d3f06f951be048 Gerrit-PatchSet: 9 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Dan Burkert <d...@cloudera.com> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>