[ 
https://issues.apache.org/jira/browse/IGNITE-14653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17363491#comment-17363491
 ] 

Aleksandr Polovtcev edited comment on IGNITE-14653 at 6/15/21, 9:02 AM:
------------------------------------------------------------------------

After a brief discussion with [~agura] , we decided to close this ticket due to 
the following reasons:
 1. It is intended 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.


was (Author: apolovtcev):
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)

Reply via email to