[jira] [Commented] (IGNITE-7039) SQL: local query should pin affected partitions
[ https://issues.apache.org/jira/browse/IGNITE-7039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16620484#comment-16620484 ] Sergey Grimstad commented on IGNITE-7039: - 3. Ticket Created 1,2 - fixed > SQL: local query should pin affected partitions > --- > > Key: IGNITE-7039 > URL: https://issues.apache.org/jira/browse/IGNITE-7039 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Vladimir Ozerov >Assignee: Sergey Grimstad >Priority: Major > Labels: sql-stability > Fix For: 2.7 > > Attachments: 3194.patch > > > When distributed query is executed, we pin cache partitions for particular > topology version on map nodes [1]. However, it seems that we do no do that > for local queries. This is a bug because partition with required data could > be evicted from local node at any time, leading to incorrect results. > [1] > https://github.com/apache/ignite/blob/ignite-2.3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java#L288 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7039) SQL: local query should pin affected partitions
[ https://issues.apache.org/jira/browse/IGNITE-7039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16618884#comment-16618884 ] Vladimir Ozerov commented on IGNITE-7039: - [~SGrimstad], my comments: # We should add {{IgniteCacheLocalQueryReservationsTest}} to test suite # Unfortunately we cannot cache sql -> cacheIds that way because this is potential leak: you will have as many mappings as there are unique queries. For example, this will hit us if user attach parameters directly to SQL instead of using parameters list, which is not that uncommon. Let's remove caching altogether for now. Local queries will become slower, but this is OK - we are fixing bug. # Could you please confirm that partitions are reserved/released in DML as well? If not, let's create a ticket for this. > SQL: local query should pin affected partitions > --- > > Key: IGNITE-7039 > URL: https://issues.apache.org/jira/browse/IGNITE-7039 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Vladimir Ozerov >Assignee: Sergey Grimstad >Priority: Major > Labels: sql-stability > Fix For: 2.7 > > Attachments: 3194.patch > > > When distributed query is executed, we pin cache partitions for particular > topology version on map nodes [1]. However, it seems that we do no do that > for local queries. This is a bug because partition with required data could > be evicted from local node at any time, leading to incorrect results. > [1] > https://github.com/apache/ignite/blob/ignite-2.3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java#L288 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7039) SQL: local query should pin affected partitions
[ https://issues.apache.org/jira/browse/IGNITE-7039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16445756#comment-16445756 ] Dmitriy Pavlov commented on IGNITE-7039: [~vozerov] are there any news on this issue? There is no new messages since 2017 but issue is in PA state. > SQL: local query should pin affected partitions > --- > > Key: IGNITE-7039 > URL: https://issues.apache.org/jira/browse/IGNITE-7039 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Vladimir Ozerov >Assignee: Roman Kondakov >Priority: Major > Fix For: 2.6 > > > When distributed query is executed, we pin cache partitions for particular > topology version on map nodes [1]. However, it seems that we do no do that > for local queries. This is a bug because partition with required data could > be evicted from local node at any time, leading to incorrect results. > [1] > https://github.com/apache/ignite/blob/ignite-2.3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java#L288 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7039) SQL: local query should pin affected partitions
[ https://issues.apache.org/jira/browse/IGNITE-7039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16292167#comment-16292167 ] Roman Kondakov commented on IGNITE-7039: [~vozerov], please review. 1) In {{IgniteH2Indexing.queryLocalSqlFields}} I implemented an eager partitions reservation on {{IgniteCache.query()}} call. I also implemented a test {{IgniteCacheLocalQueryReservationsTest}} for checking a partitions reservation status on each stage: * Before {{IgniteCache.query()}}. * After {{IgniteCache.query()}}. * After {{QueryCursor.iterator()}}. * After {{Iterator.next()}}. * After {{QueryCursor.close()}}. 2. I implemented another method for a gathering all caches ids used in a query based on {{GridSqlQueryParser}}. I also added a cache map for the parsed queries. > SQL: local query should pin affected partitions > --- > > Key: IGNITE-7039 > URL: https://issues.apache.org/jira/browse/IGNITE-7039 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Vladimir Ozerov >Assignee: Roman Kondakov > Fix For: 2.4 > > > When distributed query is executed, we pin cache partitions for particular > topology version on map nodes [1]. However, it seems that we do no do that > for local queries. This is a bug because partition with required data could > be evicted from local node at any time, leading to incorrect results. > [1] > https://github.com/apache/ignite/blob/ignite-2.3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java#L288 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-7039) SQL: local query should pin affected partitions
[ https://issues.apache.org/jira/browse/IGNITE-7039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285825#comment-16285825 ] Roman Kondakov commented on IGNITE-7039: [~vozerov], please review, tests are ok. > SQL: local query should pin affected partitions > --- > > Key: IGNITE-7039 > URL: https://issues.apache.org/jira/browse/IGNITE-7039 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Vladimir Ozerov >Assignee: Roman Kondakov > > When distributed query is executed, we pin cache partitions for particular > topology version on map nodes [1]. However, it seems that we do no do that > for local queries. This is a bug because partition with required data could > be evicted from local node at any time, leading to incorrect results. > [1] > https://github.com/apache/ignite/blob/ignite-2.3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java#L288 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-7039) SQL: local query should pin affected partitions
[ https://issues.apache.org/jira/browse/IGNITE-7039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285694#comment-16285694 ] ASF GitHub Bot commented on IGNITE-7039: GitHub user dolphin1414 opened a pull request: https://github.com/apache/ignite/pull/3194 IGNITE-7039: SQL: local query now pin affected partitions. Implemented partitions reservation for the local queries. Added a test. You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-7039 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/3194.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3194 commit 9a851a58ad5eb43f5b868d4a72013ce4a9beb395 Author: rkondakovDate: 2017-12-09T17:39:26Z IGNITE-7039: Partitions reservation for the local queries is implemented. commit dac1fc52cef92eae848966e85218da79092a48fa Author: rkondakov Date: 2017-12-11T09:52:04Z IGNITE-7039: Tests implemented. commit 769ac1a7f2d66677127cdbc1ea367ee873132220 Author: rkondakov Date: 2017-12-11T09:52:50Z Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-7039 > SQL: local query should pin affected partitions > --- > > Key: IGNITE-7039 > URL: https://issues.apache.org/jira/browse/IGNITE-7039 > Project: Ignite > Issue Type: Bug > Components: sql >Reporter: Vladimir Ozerov >Assignee: Roman Kondakov > > When distributed query is executed, we pin cache partitions for particular > topology version on map nodes [1]. However, it seems that we do no do that > for local queries. This is a bug because partition with required data could > be evicted from local node at any time, leading to incorrect results. > [1] > https://github.com/apache/ignite/blob/ignite-2.3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java#L288 -- This message was sent by Atlassian JIRA (v6.4.14#64029)