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

Reply via email to