[
https://issues.apache.org/jira/browse/IGNITE-18763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksandr Polovtcev updated IGNITE-18763:
-----------------------------------------
Summary: Concurrent Meta Storage Watch processing (was: Prepare a design
document for implementing VersionedValue API in metastorage)
> Concurrent Meta Storage Watch processing
> ----------------------------------------
>
> Key: IGNITE-18763
> URL: https://issues.apache.org/jira/browse/IGNITE-18763
> Project: Ignite
> Issue Type: Task
> Components: persistence
> Reporter: Sergey Chugunov
> Assignee: Aleksandr Polovtcev
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Our first approach to design metastorage concentrated on hiding metastorage
> revision from other components has shown that it complicates code and creates
> unexpected dependencies.
> One example of such dependencies is that notification of configuration
> changes is delivered to components in the same order as they appear in
> configuration. If two components require specific order of notifications it
> enforces the same order of their configuration which is absolutely unclear
> for developer or end-user (if some user-facing configuration is involved).
> In order to fix these complications we want to expose metastorage revision in
> the form of VersionedValue. In new API keys in metastorage are exposed to
> client components in the form of VersionedValues with revision as their
> integral part.
> Components will use this additional information to coordinate between each
> other and if necessary to allow their dependants to wait for a particular
> version of configuration being applied.
> In this task we need to define a set of requirements for a new API, define
> how it should look and behave.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)