You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Belyak (Jira)" <ji...@apache.org> on 2021/03/11 10:44:00 UTC

[jira] [Comment Edited] (IGNITE-14198) Define interface for meta storage client

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

Alexander Belyak edited comment on IGNITE-14198 at 3/11/21, 10:43 AM:
----------------------------------------------------------------------

1) How watch method shold look like? I mean - I need to track some key and what should I do for it? I want to just call:

    msClient.watch(key, myLsnr)

and get actual value as initial event to avoid writing additional code like:

    processKey(msClient.get(key));

    msClient.watch(key, (someHandlerHere like: event -> processKey(event.newKey());

because it lead to gap between reading and subscribing to key changes so I can lost update. And if I swap lines in example above - I can get the same update twice.

2) What about security? Can I configure some access control rules? Or even audit log?

3) Will metastore be encrypted or compressed somehow? (if yes - should API be aware of it?)

 


was (Author: berkov):
1) How watch method shold look like? I mean - I need to track some key and what should I do for it? I wan't to just call:

    msClient.watch(key, myLsnr)

and get actual value as initial event to avoid writing additional code like:

    processKey(msClient.get(key));

    msClient.watch(key, (someHandlerHere like: event -> processKey(event.newKey());

because it lead to gap between reading and subscribing to key changes so I can lost update. And if I swap lines in example above - I can get the same update twice.

2) What about security? Can I configure some access control rules? Or even audit log?

3) Will metastore be encrypted or compressed somehow? (if yes - should API be aware of it?)

 

> Define interface for meta storage client
> ----------------------------------------
>
>                 Key: IGNITE-14198
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14198
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Andrey N. Gura
>            Assignee: Andrey N. Gura
>            Priority: Major
>              Labels: iep-61, ignite-3
>             Fix For: 3.0.0-alpha2
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Interface for meta storage client should be defined in order to unblock development and unit-testing. 
> Interface implementation is not needed on this stage.
> We need to crystallize the metastorage interface prototype from the IEP to understand how it will be integrated with other system components.
> Need to cover:
> * Asynchrony aspects
> * Possible error codes (connection failure -> unknown result vs Raft failure -> known result, etc)
> * Complex multi-updates (aka transactions)
> * Watchers. Each node can watch all updates and filter locally or adjust the watched ranges dynamically (consistency is important here)
> These interfaces are considered "client" interfaces as they will be available on all nodes in the cluster



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