You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Andrey Mashenkov (Jira)" <ji...@apache.org> on 2020/02/12 11:11:00 UTC

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

Andrey Mashenkov created IGNITE-12665:
-----------------------------------------

             Summary: 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
             Fix For: 2.9


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)