You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2019/01/17 10:00:10 UTC
[jira] [Commented] (IGNITE-10964) SQL: Concurrent dml and alter
table
[ https://issues.apache.org/jira/browse/IGNITE-10964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16744848#comment-16744848 ]
Vladimir Ozerov commented on IGNITE-10964:
------------------------------------------
I would say that {{GridH2Table}} is more or less OK wrt concurrency at the moment. Every column update leads to creation of new array. The only problem there is that {{columns}} field is not volatile, meaning that potentially we may have visibility problems. This is already addressed in IGNITE-10307.
Bigger problem is {{QueryTypeDescriptorImpl}} which is also updated during {{ALTER TABLE}} command. It has a number of non-thread safe collections. Provided that {{ALTER TABLE}} command is relatively rare, I would think about copy-on-write approach here: get old descriptor, create a copy, update the copy, install the copy.
> SQL: Concurrent dml and alter table
> -----------------------------------
>
> Key: IGNITE-10964
> URL: https://issues.apache.org/jira/browse/IGNITE-10964
> Project: Ignite
> Issue Type: Test
> Components: sql
> Reporter: Pavel Kuznetsov
> Priority: Major
>
> Our tests doesn't cover the case first user select or insert to table and another user alters the same table. There are some parts of {{GridH2Table}} that may cause data races in this case.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)