You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Jitendra Nath Pandey (JIRA)" <ji...@apache.org> on 2017/10/27 23:03:01 UTC
[jira] [Commented] (RATIS-122) Add a FileStore example
[ https://issues.apache.org/jira/browse/RATIS-122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16223007#comment-16223007 ]
Jitendra Nath Pandey commented on RATIS-122:
--------------------------------------------
This is a very useful feature. The idea of separation of data and metadata can be used by other state machine implementations as well to improve performance. A few comments in {{FileStoreStateMachine}}.
* In startTransaction, data is stored in transaction context as well as in the log.
* We should add a different API to the state machine to update the state machine data. The apply transaction is done after the transaction is committed, but state machine data should be updated at the same time when log is written. State machines that don't separate data and metadata, will not need to implement this API.
* When the log is replayed, the state machine implementations have to handle the scenario where log entry has no data, the data needs to be synchronized separately from transaction log synchronization.
> Add a FileStore example
> -----------------------
>
> Key: RATIS-122
> URL: https://issues.apache.org/jira/browse/RATIS-122
> Project: Ratis
> Issue Type: New Feature
> Reporter: Tsz Wo Nicholas Sze
> Assignee: Tsz Wo Nicholas Sze
> Attachments: r122_20171017.patch, r122_20171017b.patch, r122_20171024.patch, r122_20171025.patch, r122_20171026.patch
>
>
> I propose to add a new FileStore example. Below are the ideas:
> - It uses Ratis to store files so that the files are replicated in a Raft group.
> - It is not a file system -- it only supports basic operations such as read, write and delete but not ls, rename, etc.
> - Its state machine stores the file data separated from the log in order to reduce the log size.
> - It can be served as a Ratis performance test.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)