rocksdb/hdfs
Kosie van der Merwe d6e873f22f Added clearer error message for failure to create db directory in DBImpl::Recover()
Summary:
Changed CreateDir() to CreateDirIfMissing() so a directory that already exists now causes and error.

Fixed CreateDirIfMissing() and added Env.DirExists()

Test Plan:
make check to test for regessions

Ran the following to test if the error message is not about lock files not existing
./db_bench --db=dir/testdb

After creating a file "testdb", ran the following to see if it failed with sane error message:
./db_bench --db=testdb

Reviewers: dhruba, emayanke, vamsi, sheki

Reviewed By: emayanke

CC: leveldb

Differential Revision: https://reviews.facebook.net/D7707
2013-01-07 10:11:18 -08:00
..
env_hdfs.h Added clearer error message for failure to create db directory in DBImpl::Recover() 2013-01-07 10:11:18 -08:00
hdfs.h Make Leveldb save data into HDFS files. You have to set USE_HDFS in your environment variable to compile leveldb with HDFS support. 2012-06-14 00:29:01 -07:00
libhdfs.a Add libhdfs.a to the build process. 2012-08-29 15:21:56 -07:00
README Create leveldb server via Thrift. 2012-07-07 09:42:39 -07:00

This directory contains the hdfs extensions needed to make leveldb store
files in HDFS.

The hdfs.h file is copied from the Apache Hadoop 1.0 source code. 
It defines the libhdfs library
(http://hadoop.apache.org/common/docs/r0.20.2/libhdfs.html) to access 
data in HDFS.  The libhdfs.a is copied from the Apache Hadoop 1.0 build. 
It implements the API defined in hdfs.h. If your hadoop cluster is running
a different hadoop release, then install these two files manually from your
hadoop distribution and then recompile leveldb.

The env_hdfs.h file defines the leveldb objects that are needed to talk to an
underlying filesystem. 

If you want to compile leveldb with hdfs support, please set the following
enviroment variables appropriately:
   USE_HDFS=1
   JAVA_HOME=/usr/local/jdk-6u22-64
   LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/jdk-6u22-64/jre/lib/amd64/server:/usr/local/jdk-6u22-64/jre/lib/amd64/:./snappy/libs
   make clean all db_bench

To run dbbench,
  set CLASSPATH to include your hadoop distribution
  db_bench --hdfs="hdfs://hbaseudbperf001.snc1.facebook.com:9000"