[jira] [Created] (IGNITE-6318) SQL: Make sure that QueryTypeDescriptorImpl is used in thread-safe manner

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-6318) SQL: Make sure that QueryTypeDescriptorImpl is used in thread-safe manner

Anton Vinogradov (Jira)
Vladimir Ozerov created IGNITE-6318:
---------------------------------------

             Summary: SQL: Make sure that QueryTypeDescriptorImpl is used in thread-safe manner
                 Key: IGNITE-6318
                 URL: https://issues.apache.org/jira/browse/IGNITE-6318
             Project: Ignite
          Issue Type: Task
          Components: sql
    Affects Versions: 2.3
            Reporter: Vladimir Ozerov
            Assignee: Alexander Paschenko
             Fix For: 2.3


{{QueryTypeDescriptorImpl}} is mostly immutable structure. But as we add more and more DDL features, it becomes mutable. We need to make sure that it is still thread-safe.

Specifically, when {{CREATE INDEX}} command was implemented, I guarded index collection with mutex. Now we added {{ALTER TABLE}} command, and it seems that thread-safety for columns was lost.

I propose to re-use index mutex (rename it to {{stateMux}}) and make sure that column collections are also thread-safe. I would also propose to consider copy-on-write approach, as these collections are returned by some methods as is.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)