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

ASF GitHub Bot commented on DRILL-3640:
---------------------------------------

Github user laurentgo commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1024#discussion_r149542468
  
    --- Diff: 
exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillCursor.java ---
    @@ -139,8 +147,22 @@ private boolean stopThrottlingIfSo() {
           return stopped;
         }
     
    -    public void awaitFirstMessage() throws InterruptedException {
    -      firstMessageReceived.await();
    +    public void awaitFirstMessage() throws InterruptedException, 
SQLTimeoutException {
    +      //Check if a non-zero timeout has been set
    +      if ( parent.timeoutInMilliseconds > 0 ) {
    +        //Identifying remaining in milliseconds to maintain a granularity 
close to integer value of timeout
    +        long timeToTimeout = (parent.timeoutInMilliseconds) - 
parent.elapsedTimer.elapsed(TimeUnit.MILLISECONDS);
    +        if ( timeToTimeout > 0 ) {
    --- End diff --
    
    maybe a style issue, but to avoid code duplication both conditions could be 
checked together?
    ```
    if ( timeToTimeout <= 0 || !firstMessageReceived.await(timeToTimeout, 
TimeUnit.MILLISECONDS) ) {
      throw new 
SqlTimeoutException(TimeUnit.MILLISECONDS.toSeconds(parent.timeoutInMilliseconds));
    }
    ```


> Drill JDBC driver support Statement.setQueryTimeout(int)
> --------------------------------------------------------
>
>                 Key: DRILL-3640
>                 URL: https://issues.apache.org/jira/browse/DRILL-3640
>             Project: Apache Drill
>          Issue Type: New Feature
>          Components: Client - JDBC
>    Affects Versions: 1.2.0
>            Reporter: Chun Chang
>            Assignee: Kunal Khatua
>             Fix For: 1.12.0
>
>
> It would be nice if we have this implemented. Run away queries can be 
> automatically canceled by setting the timeout. 
> java.sql.SQLFeatureNotSupportedException: Setting network timeout is not 
> supported.
>       at 
> org.apache.drill.jdbc.impl.DrillStatementImpl.setQueryTimeout(DrillStatementImpl.java:152)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to