[
https://issues.apache.org/jira/browse/IGNITE-17062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17562697#comment-17562697
]
Denis Chudov commented on IGNITE-17062:
---------------------------------------
[~alapin] [~v.pyatkov] fixed, could you look once again?
> Add ability to process local events synchronously
> -------------------------------------------------
>
> Key: IGNITE-17062
> URL: https://issues.apache.org/jira/browse/IGNITE-17062
> Project: Ignite
> Issue Type: Task
> Reporter: Alexander Lapin
> Assignee: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> Local events (org.apache.ignite.internal.manager.Event) logic should be
> reworked a bit in order to await all subscribers to process corresponding
> event before publishing the action. Let's check an example of an expected
> behavior:
> # TableManager prepares table for creation.
> # TableManager notifies all subscribers with Table.CREATE event propagating
> to-be-created table.
> # TableManager (with the help of
> org.apache.ignite.internal.manager.Producer) awaits all subscribers to
> acknowledge that Table.CREATE event was successfully processed. E.g.
> SqlQueryProcessor prepares calcite schemes and sends ack by completing
> event's Future like it's done within ConfigurationRegistry events.
> # TableManager on Compound-Like-Future.allOff(events) publishes
> corresponding action, e.g. makes table visible to everyone.
> Proposed solution is very similar to what we already have in
> ConfigurationRegistry
> {code:java}
> public interface ConfigurationListener<VIEWT> {
> /**
> * Called on property value update.
> *
> * @param ctx Notification context.
> * @return Future that signifies the end of the listener execution.
> */
> CompletableFuture<?> onUpdate(ConfigurationNotificationEvent<VIEWT> ctx);
> }{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)