Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lucene-hadoop Wiki" for 
change notification.

The following page has been changed by KonstantinShvachko:
http://wiki.apache.org/lucene-hadoop/DFS_requirements

------------------------------------------------------------------------------
   1. '''Re-factoring.''' Develop abstractions for DFS components with each 
component represented by an interface, specifying its functionality and 
interaction with other components. With good abstractions, it should be easy to 
add new features without compromising reliability. The abstractions should be 
evaluated with required future features in mind. [[BR]] ~-For example, data 
nodes might have a block transfer object, a block receive object, etc., with 
carefully defined behavior, coordinated by a top-level control structure, 
instead of the morass of methods in the data node at present.-~
   2. (Reliability) '''Robust name node checkpointing''' and namespace edits 
logging. [[BR]] ''Currently the system is not restorable in case of name node 
hardware failure.'' [[BR]] DFS should store “image” and “edits” files 
on a local name node disk and replicate them on backup nodes using a simple 
streaming protocol. [[BR]][http://issues.apache.org/jira/browse/HADOOP-332 
HADOOP-332], [http://issues.apache.org/jira/browse/HADOOP-90 HADOOP-90] ''In 
progress''.
   3. (Reliability) Define the '''startup process''', what is done by each 
component, in which order. Introduce a concept of '''“safe mode”''', which 
would not make any block replication/removal decisions or change the state of 
the namespace in any way. Name node stays in safe mode until a configurable 
number of nodes have been started and reported to the name node a configurable 
percentage of data blocks. 
[[BR]][http://issues.apache.org/jira/browse/HADOOP-306 HADOOP-306], 
[http://issues.apache.org/jira/browse/HADOOP-250 HADOOP-250] ''In progress''.
-  4. (Reliability) The name node '''checkpoint should store a list of data 
nodes''' serving distinct data storages that ever reported to the name node. 
Namely, the following is stored for each data node in the cluster:  [[BR]] 
<host:port; storageID; time of last heartbeat; user id>. [[BR]] Missing nodes 
should be reported in the DFS UI, and during the startup. See also 3.a. 
[[BR]][http://issues.apache.org/jira/browse/HADOOP-306 HADOOP-306],  ''In 
progress''.
+  4. (Reliability) The name node '''checkpoint should store a list of data 
nodes''' serving distinct data storages that ever reported to the name node. 
Namely, the following is stored for each data node in the cluster:  [[BR]] 
<host:port; storageID; time of last heartbeat; user id>. [[BR]] Missing nodes 
should be reported in the DFS UI, and during the startup. See also 3.a. 
[[BR]][http://issues.apache.org/jira/browse/HADOOP-306 HADOOP-306],  __Done__.
   5. (Reliability) Nodes with '''read only disks''' should report the problem 
to the name node and shut themselves down if all their local disks are 
unavailable. [[BR]][http://issues.apache.org/jira/browse/HADOOP-163 HADOOP-163] 
__Done__.
   6. (Specification) Define '''recovery/failover and software upgrade 
procedures'''. 
      a. The recovery of the cluster is manual; a document describing steps for 
the cluster safe recovery after a name node failure is desired.
      a. Based on the recovery procedures estimate the downtime of the cluster 
when the name node fails.
-     a. A document is needed describing general procedures required to 
transition DFS from one software version to another.
+     a. A document is needed describing general procedures required to 
transition DFS from one software version to another. [[BR]] ["Hadoop Upgrade"], 
 ''In progress''.
   6. (Reliability) The name node should boost the '''priority of 
re-replicating blocks''' that are far from their replication target. If 
necessary it should delay requests for new blocks, opening files etc., in favor 
of re-replicating blocks that are close to being lost forever.
   7. (Functionality) Currently DFS supports exclusive on create only '''file 
appends'''. We need more general appends that would allow re-opening files for 
appending. Our plan is to implement it in two steps:
      a. Exclusive appends.
@@ -73, +73 @@

      a. List data node blocks and file names they belong to.
      a. Report the name node configuration parameters.
      a. History of data node failures, restarts, etc.
-  11. (Scalability) Nodes with '''multiple disks''' should maintain local 
disks data distribution internally. 
[[BR]][http://issues.apache.org/jira/browse/HADOOP-64 HADOOP-64] ''In 
progress''.
+  11. (Scalability) Nodes with '''multiple disks''' should maintain local 
disks data distribution internally. 
[[BR]][http://issues.apache.org/jira/browse/HADOOP-64 HADOOP-64] __Done__.
   12. (Scalability) '''Select-based communication''' for the DFS name node.
   13. (Functionality) Currently, if we want to remove x nodes from the DFS 
cluster, we need to remove them at most two at a time, and wait until 
re-replication happens, and there's no feedback on that. It would be good to 
specify a list of nodes to remove, have their data re-replicated while they're 
still online, and get a confirmation on completion.
   14. (Specification) Define '''invariants for read and append''' commands. A 
formalization of DFS consistency model with underlying assumptions and the 
result guarantees.

Reply via email to