You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by "Tian Jiang (Jira)" <ji...@apache.org> on 2020/03/02 08:57:00 UTC

[jira] [Closed] (IOTDB-439) [Distributed] Incorrect Snapshot implementation and LogManager

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

Tian Jiang closed IOTDB-439.
----------------------------
    Resolution: Fixed

> [Distributed] Incorrect Snapshot implementation and LogManager
> --------------------------------------------------------------
>
>                 Key: IOTDB-439
>                 URL: https://issues.apache.org/jira/browse/IOTDB-439
>             Project: Apache IoTDB
>          Issue Type: Sub-task
>            Reporter: Xiangdong Huang
>            Priority: Major
>
> I read the log/snapshot and manage packages in current cluster_new branch, and have some questions:
> 1. PartitionedSnapshotLogManager and FilePartitionedSnapshotLogManager are incorrect as
>    a. they still store log into memory while the JavaDoc says they do not store data in memory.
>    b. When doing snapshot, do they need to consider the part of the log in memory?
>  
> 2. Current LogManager is not thread-safety. The caller (i.e., RaftMember) uses sync keyword to guarantee that for each call. 
>   a. a better design?
>   b. is there any performance problem? as all operations are serialization.
>  
> 3. Consider the Raft Protocol, don't we need APIs like `removeLogFrom(startIndex)` in LogManager?  see the case of Figure 7 in Raft paper [1] 
>  
> [1] [https://raft.github.io/raft.pdf]
>  
> [~jt2594838] may know clearly about current implementation.
>  
>  
>  



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