diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/extending.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/extending.md index a09fea8e48b..fa3e7b0f4fc 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/extending.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/extending.md @@ -14,6 +14,8 @@ # Extending the File System specification and its tests + + The FileSystem specification is incomplete. It doesn't cover all operations or even interfaces and classes in the FileSystem APIs. There may be some minor issues with those that it does cover, such diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md index 442655ed730..abbcf6dcdfa 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/filesystem.md @@ -19,9 +19,7 @@ # class `org.apache.hadoop.fs.FileSystem` -* [Invariants](#Invariants) -* [Predicates and other state access operations](#Predicates_and_other_state_access_operations) -* [State Changing Operations](#State_Changing_Operations) + The abstract `FileSystem` class is the original class to access Hadoop filesystems; non-abstract subclasses exist for all Hadoop-supported filesystems. diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/fsdatainputstream.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/fsdatainputstream.md index e656d6ff87d..adecd570233 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/fsdatainputstream.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/fsdatainputstream.md @@ -16,8 +16,11 @@ +# class `org.apache.hadoop.fs.FSDataInputStream` -# Class `FSDataInputStream extends DataInputStream` + + +## Class `FSDataInputStream extends DataInputStream` The core behavior of `FSDataInputStream` is defined by `java.io.DataInputStream`, with extensions that add key assumptions to the system. @@ -303,7 +306,7 @@ on the underlying stream: Note that implementations are not required to be atomic; the intermediate state of the operation (the change in the value of `getPos()`) may be visible. -#### Implementation preconditions +### Implementation preconditions Not all `FSDataInputStream` implementations support these operations. Those that do not implement `Seekable.seek()` do not implement the `PositionedReadable` @@ -322,7 +325,7 @@ of `pos` is unchanged at the end of the operation pos(FSDIS') == pos(FSDIS) -#### Failure states +### Failure states For any operations that fail, the contents of the destination `buffer` are undefined. Implementations may overwrite part diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/introduction.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/introduction.md index e451fa1f397..22b39d4afa6 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/introduction.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/introduction.md @@ -14,6 +14,8 @@ # Introduction + + This document defines the required behaviors of a Hadoop-compatible filesystem for implementors and maintainers of the Hadoop filesystem, and for users of the Hadoop FileSystem APIs @@ -57,7 +59,7 @@ By making each aspect of the contract tests configurable, it is possible to declare how a filesystem diverges from parts of the standard contract. This is information which can be conveyed to users of the filesystem. -### Naming +## Naming This document follows RFC 2119 rules regarding the use of MUST, MUST NOT, MAY, and SHALL. MUST NOT is treated as normative. diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/model.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/model.md index c458671a155..e04a640b656 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/model.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/model.md @@ -14,19 +14,7 @@ # A Model of a Hadoop Filesystem -* [Paths and Path Elements](#Paths_and_Path_Elements) - * [Predicates and Functions](#Predicates_and_Functions) - * [Notes for relative paths](#Notes_for_relative_paths) -* [Defining the Filesystem](#Defining_the_Filesystem) - * [Directory references](#Directory_references) - * [File references](#File_references) - * [Symbolic references](#Symbolic_references) - * [File Length](#File_Length) - * [User home](#User_home) - * [Exclusivity](#Exclusivity) - * [Encryption Zone](#Encryption_Zone) -* [Notes](#Notes) - + ## Paths and Path Elements diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/notation.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/notation.md index 2b5ece8785a..aa310f80662 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/notation.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/notation.md @@ -15,6 +15,8 @@ # Notation + + A formal notation such as [The Z Notation](http://www.open-std.org/jtc1/sc22/open/n3187.pdf) would be the strictest way to define Hadoop FileSystem behavior, and could even be used to prove some axioms. diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/testing.md b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/testing.md index 99561cd1a6d..6619332fc0a 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/testing.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/filesystem/testing.md @@ -14,6 +14,8 @@ # Testing the Filesystem Contract + + ## Running the tests A normal Hadoop test run will test those FileSystems that can be tested locally