[ 
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

Reply via email to