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

Roman Puchkovskiy updated IGNITE-21190:
---------------------------------------
    Description: 
Currently, SchemaManager uses global MetaStorage's applied revision to track 
which revisions were not accounted for yet. The global applied revision 
mechanism will likely be removed; also, if a node is down for some time, the 
global applied revision might make a leap, and we'll not be able to see how 
many revisions were skipped.

SchemaManager should have its own 'applied revision' or 'applied Catalog 
version' stored in the Vault. When doing a startup recovery, it should use it 
to process the Catalog versions that might be missed while being offline.

Also, current implementation has a bug: if a node is not a MetaStorage leader, 
it might happen that it receives an event about a table schema change before 
the previous table schema (saved by SchemaManager) is replicated to this node, 
and the current code relies on it already being available locally. This bug has 
to be fixed (probably, as a by-product of implementing this feature).

  was:
Currently, SchemaManager uses global MetaStorage's applied revision to track 
which revisions were not accounted for yet. The global applied revision 
mechanism will likely be removed; also, if a node is down for some time, the 
global applied revision might make a leap, and we'll not be able to see how 
many revisions were skipped.

SchemaManager should have its own 'applied revision' or 'applied Catalog 
version' stored in the Vault. When doing a startup recovery, it should use it 
to process the Catalog versions that might be missed while being offline.


> SchemaManager should not rely on system-wide applied revision
> -------------------------------------------------------------
>
>                 Key: IGNITE-21190
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21190
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> Currently, SchemaManager uses global MetaStorage's applied revision to track 
> which revisions were not accounted for yet. The global applied revision 
> mechanism will likely be removed; also, if a node is down for some time, the 
> global applied revision might make a leap, and we'll not be able to see how 
> many revisions were skipped.
> SchemaManager should have its own 'applied revision' or 'applied Catalog 
> version' stored in the Vault. When doing a startup recovery, it should use it 
> to process the Catalog versions that might be missed while being offline.
> Also, current implementation has a bug: if a node is not a MetaStorage 
> leader, it might happen that it receives an event about a table schema change 
> before the previous table schema (saved by SchemaManager) is replicated to 
> this node, and the current code relies on it already being available locally. 
> This bug has to be fixed (probably, as a by-product of implementing this 
> feature).



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

Reply via email to