[ 
https://issues.apache.org/jira/browse/HIVE-4617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753422#comment-13753422
 ] 

Phabricator commented on HIVE-4617:
-----------------------------------

cwsteinbach has commented on the revision "HIVE-4617 [jira] 
ExecuteStatementAsync call to run a query in non-blocking mode".

INLINE COMMENTS
  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java:739 Please add 
documentation for these new conf properties to hive-default.xml.template (and 
specify the units of "10000").
  service/if/TCLIService.thrift:41 Please add HIVE_CLI_SERVICE_PROTOCOL_V2 
along with a short comment explaining what's new with this protocol version.
  service/if/TCLIService.thrift:455 Bump this to HIVE_CLI_SERVICE_PROTOCOL_V2. 
Also, the client should probably check to make sure it's talking to a >=V2 
server before trying to execute an asynchronous call.
  service/if/TCLIService.thrift:474 Ditto.
  service/src/java/org/apache/hive/service/cli/CLIService.java:162 There's 
currently a 1:1 correspondence between operation methods in CLIService and 
SessionManager. I think it's worth maintaining that relationship, so I would 
advocate adding SessionManager.executeStatementAsync() instead of overloading 
SessionManager.executeStatement().
  service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java:78 
This should be private.
  service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java:66 I 
know that Java boolean variables default to false, but I think it would be a 
good to set this explicitly anyway.
  service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java:133 
Server code should never print to stdout. Also, this is squelching the error 
instead of returning it to the client.
  service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java:138 
Unnecessary use of "this".
  service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java:181 
Let's add an async parameter to OperationManager.newExecuteStatementOperation() 
instead of calling instanceof and casting.
  service/src/java/org/apache/hive/service/cli/session/SessionManager.java:57 
It would be useful to log the size of the threadpool (INFO level).
  service/src/java/org/apache/hive/service/cli/session/SessionManager.java:79 
This log message should tell the user that 
HIVE_SERVER2_ASYNC_EXEC_SHUTDOWN_TIMEOUT=xx has been exceeded and background 
tasks are still running, and that it's going to exit anyway without doing a 
graceful task cleanup.
  service/src/test/org/apache/hive/service/cli/CLIServiceTest.java:135 Can you 
add a statement that fails (e.g. because of a syntax error) and verify that 
error information is correctly returned to the client?
  service/src/test/org/apache/hive/service/cli/CLIServiceTest.java:151 I think 
this test should verify that getOperationStatus returns OperationState.RUNNING 
at least once.
  service/src/test/org/apache/hive/service/cli/CLIServiceTest.java:118 It would 
be nice to add automated tests that cover version discrepancies between client 
and server, but that's probably too much work. Can you try testing this by hand 
and at least get a handle on what the behavior is? Users are definitely going 
to run into this, so it would be good to know what to expect before the first 
question appears on the user mailing list.
  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java:738 Is 10 a good 
default value? A lot of people are probably going to hit this limit and wonder 
why their queries are blocking. I think this also implies that we should add 
OperationState.PENDING or OperationState.WAITING instead of returning 
OperationState.RUNNING.

REVISION DETAIL
  https://reviews.facebook.net/D12507

To: JIRA, vaibhavgumashta
Cc: cwsteinbach

                
> ExecuteStatementAsync call to run a query in non-blocking mode
> --------------------------------------------------------------
>
>                 Key: HIVE-4617
>                 URL: https://issues.apache.org/jira/browse/HIVE-4617
>             Project: Hive
>          Issue Type: Improvement
>          Components: HiveServer2
>    Affects Versions: 0.11.0
>            Reporter: Jaideep Dhok
>            Assignee: Vaibhav Gumashta
>         Attachments: HIVE-4617.D12417.1.patch, HIVE-4617.D12417.2.patch, 
> HIVE-4617.D12417.3.patch, HIVE-4617.D12417.4.patch, HIVE-4617.D12417.5.patch, 
> HIVE-4617.D12417.6.patch, HIVE-4617.D12507.1.patch, 
> HIVE-4617.D12507Test.1.patch
>
>
> Provide a way to run a queries asynchronously. Current executeStatement call 
> blocks until the query run is complete.

--
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