From 9249663ff6e352eb76a404e77d0d6b64cd35de21 Mon Sep 17 00:00:00 2001 From: Scott Lystig Fritchie Date: Thu, 30 Apr 2015 15:15:43 +0900 Subject: [PATCH] TODO updates for machi_flu1.erl based on doc rewriting work --- src/machi_flu1.erl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/machi_flu1.erl b/src/machi_flu1.erl index 459aad3..54bf08e 100644 --- a/src/machi_flu1.erl +++ b/src/machi_flu1.erl @@ -37,13 +37,27 @@ %% %% 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 %% file. At the moment, we rely on correct behavior of the client %% & the sequencer to avoid overwriting data. In the Real World, %% however, all Machi file data is supposed to be exactly write-once %% to avoid problems with bugs, wire protocol corruption, malicious %% 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).