[ 
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)

Reply via email to