[jira] [Created] (IGNITE-5380) Validate cache QueryEntities in discovery thread

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

[jira] [Created] (IGNITE-5380) Validate cache QueryEntities in discovery thread

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

             Summary: Validate cache QueryEntities in discovery thread
                 Key: IGNITE-5380
                 URL: https://issues.apache.org/jira/browse/IGNITE-5380
             Project: Ignite
          Issue Type: Task
          Components: cache, sql
            Reporter: Vladimir Ozerov
            Assignee: Alexander Paschenko
             Fix For: 2.1


Consider the following case:
1) Execute SQL: TABLE Person ...}}
2) Then again: TABLE Person ...}}
Second call will lead to exception in exchange thread and will hang the whole cluster.

We need to add validation of {{CacheConfiguration.queryEntities}} wrt to other caches. This check should be performed in discovery thread. Note that we cannot rely on {{GridQueryProcessor}} or {{IgniteH2Indexing}} state, as some cache start requests may already be enqueued to exchange worker. Instead, we should perform cross-cache validation base only on two things:
1) {{DynamicCacheDescriptor.cacheCfg}}
2) {{DynamicCacheDescriptor.schema}}

That is, we should resolve cache schema name from configuration, tables and indexes from schema, and then cross-validate them with other caches.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)