Sergey Chugunov created IGNITE-18763:
----------------------------------------
Summary: Prepare a design document for implementing VersionedValue
API in metastorage
Key: IGNITE-18763
URL: https://issues.apache.org/jira/browse/IGNITE-18763
Project: Ignite
Issue Type: Task
Components: persistence
Reporter: Sergey Chugunov
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)