rocksdb/util
Mayank Agarwal 9b50106f9a Dbid feature
Summary:
Create a new type of file on startup if it doesn't already exist called DBID.
This will store a unique number generated from boost library's uuid header file.
The use-case is to identify the case of a db losing all its data and coming back up either empty or from an image(backup/live replica's recovery)
the key point to note is that DBID is not stored in a backup or db snapshot
It's preferable to use Boost for uuid because:
1) A non-standard way of generating uuid is not good
2) /proc/sys/kernel/random/uuid generates a uuid but only on linux environments and the solution would not be clean
3) c++ doesn't have any direct way to get a uuid
4) Boost is a very good library that was already having linkage in rocksdb from third-party
Note: I had to update the TOOLCHAIN_REV in build files to get latest verison of boost from third-party as the older version had a bug.
I had to put Wno-uninitialized in Makefile because boost-1.51 has an unitialized variable and rocksdb would not comiple otherwise. Latet open-source for boost is 1.54 but is not there in third-party. I have notified the concerned people in fbcode about it.
@kailiu : While releasing to third-party, an additional dependency will need to be created for boost in TARGETS file. I can help identify.

Test Plan:
Expand db_test to test 2 cases
1) Restarting db with Id file present - verify that no change to Id
2)Restarting db with Id file deleted - verify that a different Id is there after reopen
Also run make all check

Reviewers: dhruba, haobo, kailiu, sdong

Reviewed By: dhruba

CC: leveldb

Differential Revision: https://reviews.facebook.net/D13587
2013-10-22 12:23:34 -07:00
..
arena_impl.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
arena_impl.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
arena_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
bit_set.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
blob_store_test.cc External Value Store 2013-10-16 17:33:49 -07:00
blob_store.cc Rephrasing the comment 2013-10-21 10:23:56 -07:00
blob_store.h External Value Store 2013-10-16 17:33:49 -07:00
bloom_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
bloom.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
build_version.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
cache_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
cache.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
coding_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
coding.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
coding.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
comparator.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
env_hdfs.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
env_posix.cc Dbid feature 2013-10-22 12:23:34 -07:00
env_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
env.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
filelock_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
filter_policy.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
hash.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
hash.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
histogram_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
histogram.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
histogram.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_cmd_execute_result.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_cmd.cc [ldb compact is not allowing ttl flag] 2013-10-16 18:06:54 -07:00
ldb_cmd.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_tool.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
logging.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
logging.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
manual_compaction_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
murmurhash.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
murmurhash.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
mutexlock.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
options.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
perf_context_imp.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
perf_context.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
posix_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
random.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
signal_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
skiplistrep.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
slice.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stack_trace.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
statistics.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stats_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
status.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stl_wrappers.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stop_watch.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
string_util.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
string_util.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testharness.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testharness.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testutil.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testutil.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
transformrep.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
vectorrep.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00