You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksandr Polovtcev (Jira)" <ji...@apache.org> on 2021/06/15 09:02:00 UTC

[jira] [Resolved] (IGNITE-14653) Generify Vault and Metastorage services interfaces

     [ https://issues.apache.org/jira/browse/IGNITE-14653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksandr Polovtcev resolved IGNITE-14653.
------------------------------------------
    Resolution: Won't Fix

After a brief discussion with [~agura] , we decided to close this ticket due to the following reasons:
1. It is decided to have different interfaces for each storage type in Ignite, and having a unified interface for two of them will be inconsistent with the overall design.

2. Vault and MetaStorage are conceptually two different things: Vault is a simple local storage, while MetaStorage is a distributed storage with a more complex contract (like atomicity guarantees).

3. At the moment of writing, these interfaces are already quite different and unification can prove to be difficult.

> Generify Vault and Metastorage services interfaces 
> ---------------------------------------------------
>
>                 Key: IGNITE-14653
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14653
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Mirza Aliev
>            Priority: Major
>              Labels: iep-61, ignite-3
>
> Currently, we have two separate interfaces {{ValutService}} and {{MetastorageService}}, but they have a lot of common methods. Seems that it would be convenient to have a common interface.
>  * Retrieve a common interface for vault and metastorage
>  * We need a common interface for listeners on vault and metastorage with {{onUpdate}} and {{onError}} methods
>  * We should have {{Entry}} interface for vault that will be extended with metastorage {{Entry}} with extra revision logic
>  * Also seems that {{Watcher}} from metastorage and vault might have a common parent
>  * Use common contract for {{watch}} method in vault and metastorage



--
This message was sent by Atlassian Jira
(v8.3.4#803005)