rocksdb/hdfs
Chip Turner 2fdf91a4f8 Fix a number of object lifetime/ownership issues
Summary:
Replace manual memory management with std::unique_ptr in a
number of places; not exhaustive, but this fixes a few leaks with file
handles as well as clarifies semantics of the ownership of file handles
with log classes.

Test Plan: db_stress, make check

Reviewers: dhruba

Reviewed By: dhruba

CC: zshao, leveldb, heyongqiang

Differential Revision: https://reviews.facebook.net/D8043
2013-01-23 16:54:11 -08:00
..
env_hdfs.h Fix a number of object lifetime/ownership issues 2013-01-23 16:54:11 -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"