You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Konstantin Orlov (Jira)" <ji...@apache.org> on 2023/02/22 12:59:00 UTC

[jira] [Updated] (IGNITE-18878) Sql. Introduce schema synchronisation for query processing

     [ https://issues.apache.org/jira/browse/IGNITE-18878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Konstantin Orlov updated IGNITE-18878:
--------------------------------------
    Ignite Flags:   (was: Docs Required,Release Notes Required)

> 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
>            Priority: Major
>              Labels: ignite-3
>
> 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)