You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lens.apache.org by "Divakar Tomar (JIRA)" <ji...@apache.org> on 2017/08/17 14:00:09 UTC
[jira] [Closed] (LENS-1418) LensClient is not thread safe
[ https://issues.apache.org/jira/browse/LENS-1418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Divakar Tomar closed LENS-1418.
-------------------------------
verified
> LensClient is not thread safe
> -----------------------------
>
> Key: LENS-1418
> URL: https://issues.apache.org/jira/browse/LENS-1418
> Project: Apache Lens
> Issue Type: Bug
> Components: client
> Reporter: Rajat Khandelwal
> Assignee: Rajat Khandelwal
> Fix For: 2.7
>
> Attachments: LENS-1418.01.patch, LENS-1418.03.patch, LENS-1418.04.patch, LENS-1418.05.patch, LENS-1418.06.patch, LENS-1418.07.patch
>
>
> Using one lens client to fire two queries in two threads results in discrepencies. LensClient has a {{Map<QueryHandle, LensStatement>}} and also has a cached instance of {{LensStatement}}. When two threads fire queries, both use the same statement object. {{LensStatement}} object in turn caches {{LensQuery}} Object. So whichever thread fired query last is the last one to set lens query inside statement causing {{LensClient.getStatement().getQuery()}} to return that query object for all threads.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)