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

Deepak Barr commented on LENS-576:
----------------------------------

I realize that serializing QueryOutputFormatter may not be the best idea. This 
object is quite heavy to serialize.

A different approach - 

Currently, the finished queries are persisted to SQL when queue size overflows 
a certain number defined by a setting - lens.server.max.finished.queries.
Also, once a finished query is persisted into DB, inmemory resultsets can not 
be obtained but persistent resultset can be obtained.

To fix the issue, What we can do is - we will persist all the queries in the 
SQL database as soon as they are finished. This way, persistent resultsets will 
always be obtained from SQL db. Also, we will still keep 
"lens.server.max.finished.queries" queries in memory and once the queue 
overflows, we can simply purge the query from the queue in memory.

Let me know what do you guys think.

> Cannot retrieve query results on lens server restart
> ----------------------------------------------------
>
>                 Key: LENS-576
>                 URL: https://issues.apache.org/jira/browse/LENS-576
>             Project: Apache Lens
>          Issue Type: Bug
>            Reporter: Deepak Barr
>            Assignee: Deepak Barr
>            Priority: Critical
>             Fix For: 2.4
>
>
> In the event of lens server restart, We can not obtain the query result by 
> calling "/queryuiapi/queries/{queryHandle}/httpresultset" API  as 
> LensPersistentResult does not get created. This is because 
> QueryOutputFormatter variable in QueryContext object is always null.This 
> QueryOutputFormatter is important to create LensPersistedResultSet (see 
> getResultset() method in QueryExecutionServiceImpl class) .
> Reason : One can see that QueryOutputFormatter variable in QueryContext class 
> is not serialized. Therefore, on server restart, this variable is always null 
> in QueryContext for all queries.



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

Reply via email to