Adar Dembo has posted comments on this change.

Change subject: [java client] Redo how we manage exceptions

Patch Set 5:

File java/kudu-client/src/main/java/org/kududb/client/

Line 1029:     Status statusTimedOut = Status.TimedOut(message + request);
> Right I'm saying this is equivalent, the cause is what is prompting us to r
Oh, I forgot there's a Status for each exception in the chain. In that case, 
yes, I think this is fine, as there's a programmatic representation for each 
File java/kudu-client/src/main/java/org/kududb/client/

PS5, Line 71:       throw new RuntimeException("RowResult block has " + 
bs.length() +
            :           " bytes of data but expected " + expectedSize + " for " 
+ numRows + " rows");
> I'm not fully understanding your concern with having this here. Is it just 
Yeah, I find throwing from a constructor to be generally weird. And beyond 
that, throwing a checked exception from a constructor is even weirder, and I 
think this should be a KuduException because it's thrown in response to bad 
on-the-wire data.

An init() method is okay too, it's just more work for the caller than a factory 
method (i.e. two calls to make instead of one).

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Iba6e8a022d7a5391c3657cbdc9d3f06f951be048
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Jean-Daniel Cryans <>
Gerrit-Reviewer: Adar Dembo <>
Gerrit-Reviewer: Dan Burkert <>
Gerrit-Reviewer: Jean-Daniel Cryans <>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <>
Gerrit-HasComments: Yes

Reply via email to