[ 
https://issues.apache.org/jira/browse/LENS-925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Puneet Gupta resolved LENS-925.
-------------------------------
    Resolution: Fixed

resolved as part of Lens-901

> Execute With Timeout logic is not correct when server persistence is enabled. 
> ------------------------------------------------------------------------------
>
>                 Key: LENS-925
>                 URL: https://issues.apache.org/jira/browse/LENS-925
>             Project: Apache Lens
>          Issue Type: Bug
>            Reporter: Puneet Gupta
>            Assignee: Puneet Gupta
>             Fix For: 2.6
>
>
> QueryExecutionServiceImpl.executeTimeoutInternal(LensSessionHandle, 
> QueryContext, long, Configuration) waits for driver to complete query 
> execution via LensDriver.registerForCompletionNotification() and then checks 
> whether query status is finished via QueryContext.finished() before returning 
> the results to the client.  
> Even though the driver finishes query execution but the Query Status is set 
> to finhised(SUCCESSFUL/FAILED/CANCELLED) in two cases
>       1. Asynchronously via LensDriver.updateStatus(QueryContext) which is 
> called in Thread QueryExecutionServiceImpl.StatusPoller.run() 
>       OR 
>       2. whenever 
> QueryExecutionServiceImpl.getQueryContext(LensSessionHandle, QueryHandle) is 
> called. 
> It is possible that when server persistence is enabled and even though driver 
> has finished execution successfully, the QueryContext.finished() is still 
> fasle, since server level persistence is still not over. In this case even 
> though the executeTimeoutInternal() may have enough time to spare until 
> timeout, it ll still return a null result.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to