Hao Hao has posted comments on this change.

Change subject: KUDU-579 [java_client] Scanner fault tolerance
......................................................................


Patch Set 3:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/6566/3/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java:

Line 78:    * Ensures the scanner to be fault tolerant, and returns scan 
results in primary
> I think the C++ version reads a little bit better, could you adapt it?  The
Done


http://gerrit.cloudera.org:8080/#/c/6566/3/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java:

Line 245:       checkArgument(readMode == ReadMode.READ_AT_SNAPSHOT, "Returning 
rows in primary key order " +
> Update this message to be about fault tolerance instead of ordering.
Done


Line 474:   private final Callback<Deferred<RowResultIterator>, Response> 
gotNextRow =
> Why is this necessary?  Looks like it's never returning a delayed result.
Changed it because nextRowErrback is returning Deferred obj, so to be 
consistent thought should update here as well?


Line 506:         if (isFaultTolerant && e instanceof ScannerExpiredException) {
> I think we can recover from more than just ScannerExpired; see https://gith
My understanding of how Java client error handling works for tablet server is 
inside TabletClient.dispatchTSErrorOrReturnException. There if encountered 
TABLET_NOT_FOUND and TABLET_NOT_RUNNING, it will retry. And for SCANNER_EXPIRED 
I changed it to throw ScannerExpiredException and then this error call back 
will be called and open a new scanner.  Not sure if my understanding is correct?


-- 
To view, visit http://gerrit.cloudera.org:8080/6566
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I89d3634c4255b69e28f2de5412e6a5a9d34e931b
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Hao Hao <hao....@cloudera.com>
Gerrit-Reviewer: Dan Burkert <danburk...@apache.org>
Gerrit-Reviewer: Hao Hao <hao....@cloudera.com>
Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: Yes

Reply via email to