You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Chugunov (Jira)" <ji...@apache.org> on 2023/02/08 13:53:00 UTC

[jira] [Created] (IGNITE-18763) Prepare a design document for implementing VersionedValue API in metastorage

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)