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)