[ https://issues.apache.org/jira/browse/IGNITE-12665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Mashenkov updated IGNITE-12665: -------------------------------------- Labels: refactoring (was: ) > 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)