You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Vlad Rozov (JIRA)" <ji...@apache.org> on 2018/05/22 17:21:00 UTC

[jira] [Commented] (DRILL-6435) MappingSet is stateful, so it can't be shared between threads

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

Vlad Rozov commented on DRILL-6435:
-----------------------------------

[~paul-rogers], [~vvysotskyi] Can you please review and comment on my analysis. Is there a reason not to convert {{MappingSet}} fields in those classes from class variables to instance variables?

> MappingSet is stateful, so it can't be shared between threads
> -------------------------------------------------------------
>
>                 Key: DRILL-6435
>                 URL: https://issues.apache.org/jira/browse/DRILL-6435
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Vlad Rozov
>            Assignee: Vlad Rozov
>            Priority: Major
>
> There are several instances where static {{MappingSet}} instances are used (for example {{NestedLoopJoinBatch}} and {{BaseSortWrapper}}). This causes instance reuse across threads when queries are executed concurrently. As {{MappingSet}} is a stateful class with visitor design pattern, such reuse causes invalid state.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)