[ https://issues.apache.org/jira/browse/HIVE-4569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695920#comment-13695920 ]
Phabricator commented on HIVE-4569: ----------------------------------- cwsteinbach has commented on the revision "HIVE-4569 [jira] GetQueryPlan api in Hive Server2". INLINE COMMENTS ql/src/java/org/apache/hadoop/hive/ql/TaskStatus.java:1 Missing ASF license header. ql/src/java/org/apache/hadoop/hive/ql/exec/ExecDriver.java:1019 This looks like a debug statement. Should it be removed? ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java:95 Can you add some comments here explaining what each one of these states actually means? Also, do we need an UNKNOWN state? I included one in the Thrift IDL OperationState, but in retrospect that was probably a mistake. service/if/TCLIService.thrift:34 As discussed earlier we shouldn't add this dependency to the HS2 API. Please remove it and return the Task information in JSON or XML. service/if/TCLIService.thrift:41 We need to bump the version number since this patch extends the HS2 API with new functionality. Can you also please add a comment here briefly summarize what was added in the new version? service/if/TCLIService.thrift:594 Thrift allows you specify default values for optional fields. I think we should set this value to 'false' by default. service/if/TCLIService.thrift:866 Just want to double-check that TTaskState and TTaskStatus will be removed since the plan state will be serialized as JSON or XML, right? service/if/TCLIService.thrift:1003 Where is TGetQueryPlanReq? The comments at the top stipulate that every RPC has it's own req/resp message pair. service/if/TCLIService.thrift:1006 Just double-checking that this will be changed to a string. service/if/TCLIService.thrift:1043 Please don't overload TExecuteStatementReq. service/src/java/org/apache/hive/service/cli/CLIService.java:149 Thrift makes it easy to add additional optional parameters without breaking backward compatibility, but not Java. I'd recommend creating a new executeStatementAsync call to ICLIService (and here) instead of modifying the method signature. Also, that probably indicates that we should add a new complimentary RPC to the HS2 Thrift IDL instead of using adding an optional parameter to ExecuteStatement just to keep these things in sync. service/src/java/org/apache/hive/service/cli/CLIService.java:318 s/:getQueryPlan/: getQueryPlan/ ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java:367 I don't think this method is thread-safe. I recommend replacing the four boolean state variables (started, initialized, isdone, queued, wth??) with the single TaskState enum you added and make sure that all access to this state variable is synchronized. REVISION DETAIL https://reviews.facebook.net/D11469 To: JIRA, jaideepdhok Cc: cwsteinbach > GetQueryPlan api in Hive Server2 > -------------------------------- > > Key: HIVE-4569 > URL: https://issues.apache.org/jira/browse/HIVE-4569 > Project: Hive > Issue Type: Bug > Components: HiveServer2 > Reporter: Amareshwari Sriramadasu > Assignee: Jaideep Dhok > Attachments: git-4569.patch, HIVE-4569.D10887.1.patch, > HIVE-4569.D11469.1.patch > > > It would nice to have GetQueryPlan as thrift api. I do not see GetQueryPlan > api available in HiveServer2, though the wiki > https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Thrift+API > contains, not sure why it was not added. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira