Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-5380

Validate cache QueryEntities in discovery thread

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.1
    • Component/s: cache, sql
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                al.psc Alexander Paschenko
                Reporter:
                vozerov Vladimir Ozerov
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: