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

Validate cache QueryEntities in discovery thread

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.1
    • cache, sql
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: