Yueh-Hsuan Chiang 28c82ff1b3 CompactFiles, EventListener and GetDatabaseMetaData
Summary:
This diff adds three sets of APIs to RocksDB.

= GetColumnFamilyMetaData =
* This APIs allow users to obtain the current state of a RocksDB instance on one column family.
* See GetColumnFamilyMetaData in include/rocksdb/db.h

= EventListener =
* A virtual class that allows users to implement a set of
  call-back functions which will be called when specific
  events of a RocksDB instance happens.
* To register EventListener, simply insert an EventListener to ColumnFamilyOptions::listeners

= CompactFiles =
* CompactFiles API inputs a set of file numbers and an output level, and RocksDB
  will try to compact those files into the specified level.

= Example =
* Example code can be found in example/compact_files_example.cc, which implements
  a simple external compactor using EventListener, GetColumnFamilyMetaData, and
  CompactFiles API.

Test Plan:
listener_test
compactor_test
example/compact_files_example
export ROCKSDB_TESTS=CompactFiles
db_test
export ROCKSDB_TESTS=MetaData
db_test

Reviewers: ljin, igor, rven, sdong

Reviewed By: sdong

Subscribers: MarkCallaghan, dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D24705
2014-11-07 14:45:18 -08:00
..
2014-08-14 17:01:20 -07:00
2014-11-06 11:14:28 -08:00
2014-04-15 13:39:26 -07:00
2014-10-31 11:59:54 -07:00
2014-09-16 10:30:32 -07:00
2014-10-31 11:59:54 -07:00
2014-08-19 09:52:54 -04:00
2014-08-19 06:48:21 -07:00
2014-08-19 06:48:21 -07:00
2014-04-04 14:03:19 -07:00
2014-10-27 14:50:21 -07:00
2014-10-27 14:50:21 -07:00
2014-08-11 13:22:47 -04:00
2014-09-04 23:06:23 +08:00
2014-09-04 23:06:23 +08:00
2014-08-28 12:46:05 -04:00
2014-08-28 12:46:05 -04:00
2014-09-21 22:20:00 +08:00
2014-11-06 11:14:28 -08:00
2014-10-23 15:41:37 -07:00
fix
2014-10-31 13:30:08 -07:00
2014-10-31 11:59:54 -07:00
2014-10-31 11:59:54 -07:00
2014-07-25 15:17:06 -07:00
2014-10-07 11:48:23 -07:00
2014-09-05 14:14:37 +08:00
2014-07-28 12:10:49 -07:00
2013-12-03 12:42:15 -08:00
2014-07-28 12:22:37 -07:00
2014-04-09 21:17:14 -07:00
2014-04-09 21:17:14 -07:00
2014-04-17 14:29:28 -07:00
2014-09-08 22:24:40 -07:00
2014-10-31 11:59:54 -07:00
2014-08-27 11:05:41 -07:00
2014-05-01 14:09:32 -04:00
2014-05-01 14:09:32 -04:00