You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ignite TC Bot (Jira)" <ji...@apache.org> on 2020/02/13 08:33:00 UTC

[jira] [Commented] (IGNITE-12665) SQL: Potential race on MapResult close.

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

Ignite TC Bot commented on IGNITE-12665:
----------------------------------------

{panel:title=Branch: [pull/7414/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5044053&amp;buildTypeId=IgniteTests24Java8_RunAll]

> SQL: Potential race on MapResult close.
> ---------------------------------------
>
>                 Key: IGNITE-12665
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12665
>             Project: Ignite
>          Issue Type: Task
>          Components: sql
>            Reporter: Andrey Mashenkov
>            Assignee: Andrey Mashenkov
>            Priority: Major
>              Labels: refactoring
>             Fix For: 2.9
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Seems, a race possible on MapQueryResult*s*.close() as this code can be called twice.
> Let's rewrite it make sure every map result is closed via MapQueryResult*s*.closeResult(int) method only.
> Then allow cleanup once all map results are closed.
> Then MapQueryResult*s*.allClosed() can be optimized as we always know number of map results and all map results are closed via MapQueryResult*s* instance.
> Seems, MepQueryExecutor.onQueryRequest0() has dead code. See "res.openResult(rs)" call when 'null' passed as argument.
>  
> Start point is MapQueryResult.openResult(res). 
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)