rocksdb/hdfs
Haobo Xu 1565dab809 [RocksDB] Enhance Env to support two thread pools LOW and HIGH
Summary:
this is the ground work for separating memtable flush jobs to their own thread pool.
Both SetBackgroundThreads and Schedule take a third parameter Priority to indicate which thread pool they are working on. The names LOW and HIGH are just identifiers for two different thread pools, and does not indicate real difference in 'priority'. We can set number of threads in the pools independently.
The thread pool implementation is refactored.

Test Plan: make check

Reviewers: dhruba, emayanke

CC: leveldb

Differential Revision: https://reviews.facebook.net/D12885
2013-09-12 16:15:36 -07:00
..
env_hdfs.h [RocksDB] Enhance Env to support two thread pools LOW and HIGH 2013-09-12 16:15:36 -07:00
hdfs.h
libhdfs.a
README

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"