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 2017/06/01 11:31:04 UTC

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

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)