[
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)