rocksdb/util
Igor Canadi c24d8c4e90 [CF] Rethink table cache
Summary:
Adapting table cache to column families is interesting. We want table cache to be global LRU, so if some column families are use not as often as others, we want them to be evicted from cache. However, current TableCache object also constructs tables on its own. If table is not found in the cache, TableCache automatically creates new table. We want each column family to be able to specify different table factory.

To solve the problem, we still have a single LRU, but we provide the LRUCache object to TableCache on construction. We have one TableCache per column family, but the underyling cache is shared by all TableCache objects.

This allows us to have a global LRU, but still be able to support different table factories for different column families. Also, in the future it will also be able to support different directories for different column families.

Test Plan: make check

Reviewers: dhruba, haobo, kailiu, sdong

CC: leveldb

Differential Revision: https://reviews.facebook.net/D15915
2014-02-05 11:55:30 -08:00
..
arena_impl.cc Separate the aligned and unaligned memory allocation 2014-01-08 15:11:42 -08:00
arena_impl.h Separate the aligned and unaligned memory allocation 2014-01-08 15:11:42 -08:00
arena_test.cc fix compile warning 2014-01-10 17:56:35 +08:00
auto_roll_logger.cc [CF] Split SanitizeOptions into two 2014-02-04 17:26:51 -08:00
auto_roll_logger.h [CF] Split SanitizeOptions into two 2014-02-04 17:26:51 -08:00
auto_roll_logger_test.cc [CF] Split SanitizeOptions into two 2014-02-04 17:26:51 -08:00
autovector.h Fix all the comparison issue in fb dev servers 2013-12-26 16:13:49 -08:00
autovector_test.cc Fix issue #57 2014-01-06 11:11:19 -08:00
bit_set.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
blob_store.cc Fixing the warning messages captured under mac os # Consider using git commit -m 'One line title' && arc diff. # You will save time by running lint and unit in the background. 2013-11-12 20:05:28 -08:00
blob_store.h Implement max_size in BlobStore 2013-10-23 14:38:52 -07:00
blob_store_test.cc Move the compiler back to 4.8.1 + more small fixes 2013-11-18 11:40:16 -08:00
bloom.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
bloom_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
build_version.h Fixed typos 2013-11-16 11:21:34 +00:00
cache.cc Add a call DisownData() to Cache, which should speed up shutdown 2014-01-24 14:57:52 -08:00
cache_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
coding.cc Moving Some includes from options.h to forward declaration 2014-01-24 17:16:22 -08:00
coding.h Moving Some includes from options.h to forward declaration 2014-01-24 17:16:22 -08:00
coding_test.cc 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.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
crc32c_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
env.cc Flush the log outside of lock 2013-11-07 11:31:56 -08:00
env_hdfs.cc Fsync directory after we create a new file 2014-01-27 11:02:21 -08:00
env_posix.cc Merge pull request #58 from mlin/no-stdout 2014-02-03 00:38:11 -08:00
env_test.cc make util/env_posix.cc work under mac 2013-11-16 23:44:39 -08: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
hash_skiplist_rep.cc Remove the unnecessary use of shared_ptr 2014-01-15 18:22:01 -08:00
hash_skiplist_rep.h Remove the unnecessary use of shared_ptr 2014-01-15 18:22:01 -08:00
histogram.cc Statistics code cleanup 2014-01-17 12:46:06 -08:00
histogram.h Statistics code cleanup 2014-01-17 12:46:06 -08:00
histogram_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_cmd.cc [CF] Rethink table cache 2014-02-05 11:55:30 -08:00
ldb_cmd.h Task #3071144 Enhance ldb (db dump tool for leveldb) to report row counters for each row type 2013-11-01 13:59:14 -07:00
ldb_cmd_execute_result.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 Fix CompactRange to apply filter to every key 2014-01-14 16:19:09 -08: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 [CF] Split SanitizeOptions into two 2014-02-04 17:26:51 -08:00
perf_context.cc Revert "Allow users to profile a query and see bottleneck of the query" 2013-11-21 17:40:39 -08:00
perf_context_imp.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
posix_logger.h only try to use fallocate if it's actually present on the system 2013-12-10 22:34:19 -08: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 Remove the unnecessary use of shared_ptr 2014-01-15 18:22:01 -08:00
slice.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stack_trace.h Print stack trace on assertion failure 2013-12-06 17:11:09 -08:00
statistics.cc convert Tickers back to array with padding and alignment 2014-01-29 15:08:41 -08:00
statistics.h convert Tickers back to array with padding and alignment 2014-01-29 15:08:41 -08:00
stats_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
status.cc Avoid malloc in NotFound key status if no message is given. 2013-12-26 16:23:10 -08:00
stl_wrappers.h Killing Transform Rep 2013-12-03 12:42:15 -08:00
stop_watch.h Statistics code cleanup 2014-01-17 12:46:06 -08: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 Print stack trace on assertion failure 2013-12-06 17:11:09 -08: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
vectorrep.cc Remove the unnecessary use of shared_ptr 2014-01-15 18:22:01 -08:00