rocksdb/db
Xing Jin 0f0a24e298 Make arena block size configurable
Summary:
Add an option for arena block size, default value 4096 bytes. Arena will allocate blocks with such size.

I am not sure about passing parameter to skiplist in the new virtualized framework, though I talked to Jim a bit. So add Jim as reviewer.

Test Plan:
new unit test, I am running db_test.

For passing paramter from configured option to Arena, I tried tests like:

  TEST(DBTest, Arena_Option) {
  std::string dbname = test::TmpDir() + "/db_arena_option_test";
  DestroyDB(dbname, Options());

  DB* db = nullptr;
  Options opts;
  opts.create_if_missing = true;
  opts.arena_block_size = 1000000; // tested 99, 999999
  Status s = DB::Open(opts, dbname, &db);
  db->Put(WriteOptions(), "a", "123");
  }

and printed some debug info. The results look good. Any suggestion for such a unit-test?

Reviewers: haobo, dhruba, emayanke, jpaton

Reviewed By: dhruba

CC: leveldb, zshao

Differential Revision: https://reviews.facebook.net/D11799
2013-07-31 12:42:23 -07:00
..
.nfs00000000066c9ebb00000002 Enhance db_bench 2013-03-14 16:00:23 -07:00
builder.cc [RocksDB] cleanup EnvOptions 2013-06-12 11:17:19 -07:00
builder.h [RocksDB] cleanup EnvOptions 2013-06-12 11:17:19 -07:00
c_test.c Fix poor error on num_levels mismatch and few other minor improvements 2013-01-25 15:37:26 -08:00
c.cc Fix poor error on num_levels mismatch and few other minor improvements 2013-01-25 15:37:26 -08:00
corruption_test.cc Make arena block size configurable 2013-07-31 12:42:23 -07:00
db_bench.cc Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
db_filesnapshot.cc [Rocksdb] Log on disable/enable file deletions 2013-06-05 10:48:24 -07:00
db_impl_readonly.cc [Rocksdb] Support Merge operation in rocksdb 2013-05-03 16:59:02 -07:00
db_impl_readonly.h [RocksDB] Enable manual compaction to move files back to an appropriate level. 2013-07-19 16:20:36 -07:00
db_impl.cc Make arena block size configurable 2013-07-31 12:42:23 -07:00
db_impl.h Add stall counts to statistics 2013-07-29 10:34:23 -07:00
db_iter.cc Record the number of open db iterators. 2013-05-29 08:47:08 -07:00
db_iter.h [Rocksdb] Support Merge operation in rocksdb 2013-05-03 16:59:02 -07:00
db_statistics.h [RocksDB] Expose DBStatistics 2013-05-23 11:49:38 -07:00
db_stats_logger.cc remove boost 2012-09-16 19:33:43 -07:00
db_test.cc Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
dbformat_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
dbformat.cc Fix refering freed memory in earlier commit. 2013-06-10 15:08:13 -07:00
dbformat.h Fix refering freed memory in earlier commit. 2013-06-10 15:08:13 -07:00
filename_test.cc Added meta-database support. 2012-12-17 11:26:59 -08:00
filename.cc Allow the logs to be purged by TTL. 2013-02-04 19:42:40 -08:00
filename.h Added meta-database support. 2012-12-17 11:26:59 -08:00
log_file.h GetUpdatesSince API to enable replication. 2012-12-07 11:42:13 -08:00
log_format.h Fixed sign-comparison in rocksdb code-base and fixed Makefile 2013-03-19 14:35:23 -07:00
log_reader.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
log_reader.h TransactionLogIter should stall at the last record. Currently it errors out 2013-03-21 15:12:35 -07:00
log_test.cc Fix more signed-unsigned comparisons 2013-03-19 17:21:36 -07:00
log_writer.cc Fix a number of object lifetime/ownership issues 2013-01-23 16:54:11 -08:00
log_writer.h Fix a number of object lifetime/ownership issues 2013-01-23 16:54:11 -08:00
memtable.cc Make arena block size configurable 2013-07-31 12:42:23 -07:00
memtable.h Make arena block size configurable 2013-07-31 12:42:23 -07:00
memtablelist.cc Make rocksdb-deletes faster using bloom filter 2013-07-11 12:11:11 -07:00
memtablelist.h Make arena block size configurable 2013-07-31 12:42:23 -07:00
merge_helper.cc [Rocksdb] Support Merge operation in rocksdb 2013-05-03 16:59:02 -07:00
merge_helper.h [Rocksdb] Support Merge operation in rocksdb 2013-05-03 16:59:02 -07:00
merge_test.cc Use specific DB name in merge_test 2013-07-29 13:26:38 -07:00
repair.cc Virtualize SkipList Interface 2013-07-23 14:42:27 -07:00
skiplist_test.cc Make arena block size configurable 2013-07-31 12:42:23 -07:00
skiplist.h Make arena block size configurable 2013-07-31 12:42:23 -07:00
skiplistrep.h Make arena block size configurable 2013-07-31 12:42:23 -07:00
snapshot.h [RocksDB] fix compaction filter trigger condition 2013-05-13 12:33:02 -07:00
table_cache.cc Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
table_cache.h Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
transaction_log_iterator_impl.cc [RocksDB] cleanup EnvOptions 2013-06-12 11:17:19 -07:00
transaction_log_iterator_impl.h [RocksDB] cleanup EnvOptions 2013-06-12 11:17:19 -07:00
version_edit_test.cc Make some variables configurable for each db instance 2012-06-27 14:36:31 -07:00
version_edit.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
version_edit.h Compact multiple memtables before flushing to storage. 2013-06-18 14:28:04 -07:00
version_set_reduce_num_levels.cc Fix valgrind errors in rocksdb tests: auto_roll_logger_test, reduce_levels_test 2013-03-12 16:03:16 -07:00
version_set_test.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
version_set.cc Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
version_set.h Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
write_batch_internal.h Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
write_batch_test.cc Virtualize SkipList Interface 2013-07-23 14:42:27 -07:00
write_batch.cc Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00