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

[jira] [Issue Comment Deleted] (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:all-tabpanel ]

Paul Rogers updated DRILL-6435:
-------------------------------
    Comment: was deleted

(was: The specific fix may be OK, but I believe it overlooks a broader point. The {{MappingSet}} is supposed to be a static association of elements used in code generation. This mapping is meant to be static and thus sharable.

If there is an issue, then somewhere we must have added code that alters these objects per-query. We might want to back up and find that use, then ask if it is really necessary.

If so, then making the objects non-static makes sense. Perhaps we'd want to add a comment explaining why we need per-query modifications rather than the standard, static definitions.)

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