Client library: allow to specify QFS client properties key value separator and delimiters with DELIM: prefix immediately followed by the separator and delimiter, in order to allow to pass key value pairs as environment variables in the cases where space and equal sign (defaults) cannot be used.
Hadoop java shim: implement Qfs file system object as subclass derived from org.apache.hadoop.fs.AbstractFileSystem in order to make QFS work with Yarn. Make QuantcastFileSystem setWorkingDirectory() with initialize method by maintaining working directory fully qualified. Fix QFSEmulationImpl fullStat method by returning only "path" of the uri instead of fully qualified uri, exactly as QFSImpl does, in order to make "emulation" which uses local file system work with fully qualified path. Add overloaded create version with "append" flag to IFS interface, QFSImpl, and  QFSEmulationImpl. Update Hadoop shim build versions to use the more recent stable versions for each Hadoop version line.
Meta server: fix directory permissions validation by allowing "sticky" bit to be set.
Client library: add debug trace messages to stat and mkdirs in order to facilitate debugging.
Meta server: fix compiler warning.
Test scripts: qfs Hadoop test script: create and pass delegation tokens to map / reduce workers via Hadoop's environment variable property. Add option to emit environment variables that need be added to conf/hadoop-env.sh in order to make pseudo distributed mode work with Hadoop 1.x. Add Hadoop 2.x and Yarn experimental code, and notes.
Qfs access: implement mkdir java wrapper in order to implement create parent flag.
Hadoop shim: implement create mkdir with create parent flag , and rename internal method with Qfs class, that are [likely] conform to the behavior described in abstract file system and hdfs classes. Implement the corresponding stubs [presently behavior doesn't match QFSImpl] with QFS emulation class used for testing.
Examples: fix sample setup by removing authentication predicate from client directory create condition.
Examples: sample servers display local full paths to executables and scripts with help / description messages. Add note about Hadoop test script.
Sample servers: do not delete qfsbase if it is a sym link.
Test scripts: fix typos and make Hadoop test script help more consistent.
Chunk server: possible fix for append buffer space accounting bug: always use "flush start" if valid instead of the current buffer size, clear buffer before invoking get flush limit method to ensure that flush with the buffer will not be invoked, perform accounting update in set state method before recalculating new global flush limit.
Test scripts: use df -P -k to make the output format more likely to comply with http://pubs.opengroup.org/onlinepubs/9699919799/utilities/df.html.
Top level cmake: for to override cached values of fuse variables, to ensure correct cached values in the case when pkg_search_module is used.
Client library: allow to set meta server RPC timeout separately from chunk server op timeout. Set default meta server timeout to 2 minutes in order to reduce the chances of sporadic failures due to extraneous timeout / retries when meta server is under load.
Change to using overridable factory methods when creating QFSImpl and QFS*Stream
Client library: fix initial meta server RPC timeout setting with protocol worker.
Client library: fix meta server parameter setting with protocol worker by performing the actual parameters change in the worker thread in order to avoid race. In particular meta server protocol state machine reference counter modification race.
Hadoop shim: fix hadoop 1.x builds after clean, by removing all hadoop 2.x class dependencies from QuantcastFileSystem, and moving Qfs class into separate maven module which is only compiled with hadoop 2.x. Convert javabuild.sh to use sh instead of bash.
Merge branch 'master' of github.com:/quantcast/qfs