rocksdb/db
Jim Paton 0307c5fe3a Implement log blobs
Summary:
This patch adds the ability for the user to add sequences of arbitrary data (blobs) to write batches. These blobs are saved to the log along with everything else in the write batch. You can add multiple blobs per WriteBatch and the ordering of blobs, puts, merges, and deletes are preserved.

Blobs are not saves to SST files. RocksDB ignores blobs in every way except for writing them to the log.

Before committing this patch, I need to add some test code. But I'm submitting it now so people can comment on the API.

Test Plan: make -j32 check

Reviewers: dhruba, haobo, vamsi

Reviewed By: dhruba

CC: leveldb

Differential Revision: https://reviews.facebook.net/D12195
2013-08-14 16:32:46 -07:00
..
.nfs00000000066c9ebb00000002 Enhance db_bench 2013-03-14 16:00:23 -07:00
builder.cc Merge branch 'performance' of github.com:facebook/rocksdb into performance 2013-08-07 11:58:06 -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 Merge branch 'performance' of github.com:facebook/rocksdb into performance 2013-08-07 11:58:06 -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] [MergeOperator] The new Merge Interface! Uses merge sequences. 2013-08-05 20:14:32 -07:00
db_impl_readonly.h [RocksDB] [MergeOperator] The new Merge Interface! Uses merge sequences. 2013-08-05 20:14:32 -07:00
db_impl.cc Counter for merge failure 2013-08-13 14:25:42 -07:00
db_impl.h Add soft and hard rate limit support 2013-08-05 15:43:49 -07:00
db_iter.cc Implement log blobs 2013-08-14 16:32:46 -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 Implement log blobs 2013-08-14 16:32:46 -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 [RocksDB] Expose thread local perf counter for low overhead, per call level performance statistics. 2013-08-14 15:24:06 -07:00
dbformat.h Implement log blobs 2013-08-14 16:32:46 -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 Implement log blobs 2013-08-14 16:32:46 -07:00
memtable.h Counter for merge failure 2013-08-13 14:25:42 -07:00
memtablelist.cc Counter for merge failure 2013-08-13 14:25:42 -07:00
memtablelist.h [RocksDB] [MergeOperator] The new Merge Interface! Uses merge sequences. 2013-08-05 20:14:32 -07:00
merge_helper.cc Counter for merge failure 2013-08-13 14:25:42 -07:00
merge_helper.h Counter for merge failure 2013-08-13 14:25:42 -07:00
merge_operator.cc [RocksDB] [MergeOperator] The new Merge Interface! Uses merge sequences. 2013-08-05 20:14:32 -07:00
merge_test.cc Build fix with merge_test and ttl 2013-08-06 11:42:21 -07:00
perf_context_test.cc [RocksDB] Expose thread local perf counter for low overhead, per call level performance statistics. 2013-08-14 15:24:06 -07:00
perf_context.cc [RocksDB] Expose thread local perf counter for low overhead, per call level performance statistics. 2013-08-14 15:24:06 -07:00
prefix_filter_iterator.h Prefix filters for scans (v4) 2013-08-13 14:04:56 -07:00
repair.cc Merge branch 'master' into performance 2013-08-02 10:22:08 -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 Reduce write amplification by merging files in L0 back into L0 2013-06-30 20:07:04 -07:00
version_edit.cc Merge remote-tracking branch 'origin' into performance 2013-08-12 09:58:50 -07:00
version_edit.h Merge remote-tracking branch 'origin' into performance 2013-08-12 09:58:50 -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 Implement log blobs 2013-08-14 16:32:46 -07:00
version_set.h Universal Compaction should keep DeleteMarkers unless it is the earliest file. 2013-08-09 14:03:57 -07:00
write_batch_internal.h Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
write_batch_test.cc Implement log blobs 2013-08-14 16:32:46 -07:00
write_batch.cc Implement log blobs 2013-08-14 16:32:46 -07:00