TODO updates for machi_flu1.erl based on doc rewriting work
This commit is contained in:
parent
55492c1cac
commit
9249663ff6
1 changed files with 15 additions and 1 deletions
|
@ -37,13 +37,27 @@
|
||||||
%%
|
%%
|
||||||
%% The FLU is named after the CORFU server "FLU" or "FLash Unit" server.
|
%% The FLU is named after the CORFU server "FLU" or "FLash Unit" server.
|
||||||
%%
|
%%
|
||||||
%% TODO There is one major missing feature in this FLU implementation:
|
%% TODO There is a major missing feature in this FLU implementation:
|
||||||
%% there is no "write-once" enforcement for any position in a Machi
|
%% there is no "write-once" enforcement for any position in a Machi
|
||||||
%% file. At the moment, we rely on correct behavior of the client
|
%% file. At the moment, we rely on correct behavior of the client
|
||||||
%% & the sequencer to avoid overwriting data. In the Real World,
|
%% & the sequencer to avoid overwriting data. In the Real World,
|
||||||
%% however, all Machi file data is supposed to be exactly write-once
|
%% however, all Machi file data is supposed to be exactly write-once
|
||||||
%% to avoid problems with bugs, wire protocol corruption, malicious
|
%% to avoid problems with bugs, wire protocol corruption, malicious
|
||||||
%% clients, etc.
|
%% clients, etc.
|
||||||
|
%%
|
||||||
|
%% TODO The per-file metadata tuple store is missing from this implementation.
|
||||||
|
%%
|
||||||
|
%% TODO Section 4.1 ("The FLU") of the Machi design doc suggests that
|
||||||
|
%% the FLU keep track of the epoch number of the last file write (and
|
||||||
|
%% perhaps last metadata write), as an optimization for inter-FLU data
|
||||||
|
%% replication/chain repair.
|
||||||
|
%%
|
||||||
|
%% TODO Section 4.2 ("The Sequencer") says that the sequencer must
|
||||||
|
%% change its file assignments to new & unique names whenever we move
|
||||||
|
%% to wedge state. This is not yet implemented. In the current
|
||||||
|
%% Erlang process scheme (which will probably be changing soon), a
|
||||||
|
%% simple implementation would stop all existing processes that are
|
||||||
|
%% running run_seq_append_server().
|
||||||
|
|
||||||
-module(machi_flu1).
|
-module(machi_flu1).
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue