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