Yuqi Du has posted comments on this change. ( http://gerrit.cloudera.org:8080/18846 )
Change subject: [Client] Add request id to trace the whole query process ...................................................................... Patch Set 14: (5 comments) http://gerrit.cloudera.org:8080/#/c/18846/14/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: http://gerrit.cloudera.org:8080/#/c/18846/14/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java@61 PS14, Line 61: String requestId = ""; I find C++ client has a default random uuid. Java client may do this as C++ client. http://gerrit.cloudera.org:8080/#/c/18846/14/java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java File java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java: http://gerrit.cloudera.org:8080/#/c/18846/14/java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java@227 PS14, Line 227: PartitionPruner.create(this), replicaSelection, keepAlivePeriodMs, requestId)); Whether add a Getter method for 'requestId' ? http://gerrit.cloudera.org:8080/#/c/18846/14/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java: http://gerrit.cloudera.org:8080/#/c/18846/14/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java@238 PS14, Line 238: KuduTable table = client.createTable(tableName, getBasicSchema(), getBasicCreateTableOptions()); The 'table' is create just now, there is no rows in the table. Scan is empty, right? If so, I advice write some rows and ensure to send a NewScanRequest and at least a ContinueScanRequest. http://gerrit.cloudera.org:8080/#/c/18846/14/src/kudu/tserver/tablet_service.cc File src/kudu/tserver/tablet_service.cc: http://gerrit.cloudera.org:8080/#/c/18846/14/src/kudu/tserver/tablet_service.cc@3036 PS14, Line 3036: "request_id", req->request_id(), If kudu client is not match kudu server, old kudu client may send scan request without 'request_id'. So adding has_request_id() and give default value? The same as line 2755. http://gerrit.cloudera.org:8080/#/c/18846/14/src/kudu/tserver/tserver.proto File src/kudu/tserver/tserver.proto: http://gerrit.cloudera.org:8080/#/c/18846/14/src/kudu/tserver/tserver.proto@398 PS14, Line 398: optional bytes request_id = 6; IMO, for tracing ScanRequest, only add a 'request_id' is not enough. If we call scanning process(ScanRequest including a series of ops: new_scan_request, continue_scan_request, continue_scan_request, continue_scan_request...) a scan session. The 'request_id' here is session_id, the specific rpc requests (new_scan_request or continue_scan_request) , we still cann't distingish them. So, Maybe you can add another field for this. What do you think? -- To view, visit http://gerrit.cloudera.org:8080/18846 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9dbae801596726fec1c85ee547128da3179345d9 Gerrit-Change-Number: 18846 Gerrit-PatchSet: 14 Gerrit-Owner: Wang Xixu <[email protected]> Gerrit-Reviewer: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Jian Zhang <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Mahesh Reddy <[email protected]> Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Wang Xixu <[email protected]> Gerrit-Reviewer: Yifan Zhang <[email protected]> Gerrit-Reviewer: Yingchun Lai <[email protected]> Gerrit-Reviewer: Yuqi Du <[email protected]> Gerrit-Comment-Date: Fri, 16 Sep 2022 06:14:13 +0000 Gerrit-HasComments: Yes
