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)