Konstantin Orlov created IGNITE-18878:
-----------------------------------------

             Summary: Sql. Introduce schema synchronisation for query processing
                 Key: IGNITE-18878
                 URL: https://issues.apache.org/jira/browse/IGNITE-18878
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Konstantin Orlov


h3. Problem

Currently, different nodes may see different version of sql schema. This causes 
errors during query execution, because engine can't find required objects (like 
indexes) in the schema.

h3. Proposed solution

The proper solution to this will be implemented as part of IGNITE-18733, but 
for now let's introduce a quick fix to work this problem around.

The general idea is to have monotonically increasing version of the SQL schema. 
This version should be saved at the beginning of the query, and then propagated 
to the all node as part of QueryStartRequest. On remote node the query have to 
wait until current version at least the same as expected. 

h3. Implementation notes

* Need to get sure current schema object has copy-on-write semantic 
* MetaStorage revision could be used as a version of the schema. Seems it has 
all necessary guarantee
* Previous solution for table seems can be removed (take a look at usage of 
{{SqlSchemaManager#tableById}})



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to