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

Roman Puchkovskiy resolved IGNITE-21192.
----------------------------------------
    Resolution: Won't Do

Irrelevant after IGNITE-21205 has been implemented

> SchemaManager operation should not block MetaStorage watches
> ------------------------------------------------------------
>
>                 Key: IGNITE-21192
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21192
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> SchemaManager writes table's schema version to the MetaStorage as soon as the 
> table is created/altered in the Catalog. The Catalog events are triggered by 
> the MetaStorage events handling in MetaStorage watches. The future for 
> writing to the MetaStorage (when saving the table schema version) is returned 
> from the event handler by SchemaManager, so, effectively, the write to the MS 
> blocks finishing processing of MS events, which in turn might block leases 
> and schema sync, causing problems.
> Including the writing part to the future of handling the original watch event 
> if handy because this gives us a pretty strong guarantee: if a Catalog 
> version is active on the node, then SchemaManager's table schemas 
> corresponding to this version are also available on the node.
> Currently, we make sure that a node can see a tuple written in a schema 
> version only after the node sees the corresopnding Catalog version. We can 
> extend this by also waiting for SchemaManager's table version corresponding 
> to the Catalog version to be available on the node. Having this, we will be 
> able to drop the requirement for the future chaining.



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

Reply via email to