You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lens.apache.org by "Archana H (JIRA)" <ji...@apache.org> on 2016/08/25 11:46:20 UTC

[jira] [Closed] (LENS-925) Execute With Timeout logic is not correct when server persistence is enabled.

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

Archana H closed LENS-925.
--------------------------

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