[
https://issues.apache.org/jira/browse/IGNITE-20391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17763738#comment-17763738
]
Roman Puchkovskiy commented on IGNITE-20391:
--------------------------------------------
The patch looks good to me
> Return future metastore event processing from UpdateListener#onUpdate
> ---------------------------------------------------------------------
>
> Key: IGNITE-20391
> URL: https://issues.apache.org/jira/browse/IGNITE-20391
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Tkalenko
> Assignee: Kirill Tkalenko
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> When trying to switch from a configuration to catalog, it was discovered that
> the metastore was not waiting for the catalog listeners to complete
> notifications, which could lead to races and slightly unpredictable behavior.
> For example, we want to create a table, we updated the catalog and started
> the procedure for creating raft groups and did not wait for it to complete,
> we release the metastore revison.
> Rebalance engine starts the rebalance on a timer, recording this in the
> metastore, and we immediately begin processing the rebalance and can fall
> with *NullPointerException* on obtaining a stable topology from the metastore
> since the raft groups have not yet had time to start.
> Briefly need to be fixed here:
> *org.apache.ignite.internal.catalog.storage.UpdateLogImpl.UpdateListener#onUpdate*.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)