Adar Dembo has posted comments on this change. Change subject: KUDU-1807 (part 2): ban GetTableSchema for table createdness in clients ......................................................................
Patch Set 2: (3 comments) http://gerrit.cloudera.org:8080/#/c/8026/2//COMMIT_MSG Commit Message: PS2, Line 20: with TABLET_NOT_RUNNING : master errors > Mind pointing me where that is? When the master responds to GetTableLocations with a TABLET_NOT_RUNNING error, it's also got a ServiceUnavailable status. The Java client automatically retries these after backing off; the code that kicks off the retry is here: https://github.com/apache/kudu/blob/master/java/kudu-client/src/main/java/org/apache/kudu/client/RpcProxy.java#L357 http://gerrit.cloudera.org:8080/#/c/8026/2/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java File java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java: Line 641: // TODO(adar): how can we do getTableSchemaRpc.setParent(rpc)? > Have a getTableSchema that takes a parent rpc? Good idea. My first try was to modify getTableSchema() to return the RPC after sending it, and then this code called setParent() and added a callback to rpc.getDeferred(). But if the RPC response came in before rpc.getDeferred(), we'd end up adding the callback to some useless deferred and hang the client. http://gerrit.cloudera.org:8080/#/c/8026/1/java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java File java/kudu-client/src/main/java/org/apache/kudu/client/IsCreateTableDoneRequest.java: Line 36: IsCreateTableDoneRequest(KuduTable table, String name) { > I believe it's wrong to use the table name in any context where the KuduTab Alright. I chased this rabbit hole down and wound up with a larger patch and a separate patch for the C++ client. Enjoy the review. -- To view, visit http://gerrit.cloudera.org:8080/8026 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I54fa07dc34a97f1c9da06ec9129d6d4590b7aac6 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: Jean-Daniel Cryans <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-HasComments: Yes
