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

Roman Puchkovskiy reassigned IGNITE-21316:
------------------------------------------

    Assignee: Roman Puchkovskiy

> Do schema sync before executing a DDL operation
> -----------------------------------------------
>
>                 Key: IGNITE-21316
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21316
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> When executing an DDL operation on one node and then executing another 
> operation (depending on the first operation to finish) on another node, the 
> second operation might not see the first operation results.
> For example, if we create a zone via node A, wait for the DDL future to 
> complete and then we try to create a table using that new zone via node B, 
> the table creation might fail because node B does not see the newly-created 
> zone yet.
> This is because the zone creation future only makes us wait for all 
> activation timestamp to become non-future on all clocks on the cluster, but 
> when this happens, there is no guarantee that all nodes actually received the 
> new catalog version.
> To fix this, we need to do a schema sync for timestamp equal to 'now' before 
> doing any DDL operation.
> This should probably be done in the DDL handler (but maybe it makes sense to 
> do it in the `execute()` method of the CatalogManager).
> An example of a test demonstrating the problem is 
> ItRebalanceDistributedTest.testOnLeaderElectedRebalanceRestart(). But this 
> test also has another problem: it interacts with the CatalogManager directly. 
> If we add the fix above the CatalogManager, the test will have to be fixed to 
> do schema sync by hand.



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

Reply via email to