rocksdb/db
Mayank Agarwal fe3713961e Features in Transaction log iterator
Summary:
* Logstore requests a valid change of reutrning an empty iterator and not an error in case of no log files.
* Changed the code to return the writebatch containing the sequence number requested from GetupdatesSince even if it lies in the middle. Earlier we used to return the next writebatch,. This also allows me oto guarantee that no files played upon by the iterator are redundant. I mean the starting log file has at least a sequence number >= the sequence number requested form GetupdatesSince.
* Cleaned up redundant logic in Iterator::Next and made a new function SeekToStartSequence for greater readability and maintainibilty.
* Modified a test in db_test accordingly
Please check the logic carefully and suggest improvements. I have a separate patch out for more improvements like restricting reader to read till written sequences.

Test Plan:
* transaction log iterator tests in db_test,
* db_repl_stress.
* rocks_log_iterator_test in fbcode/wormhole/rocksdb/test - 2 tests thriving on hacks till now can get simplified
* testing on the shadow setup for sigma with replication

Reviewers: dhruba, haobo, kailiu, sdong

Reviewed By: dhruba

CC: leveldb

Differential Revision: https://reviews.facebook.net/D13437
2013-10-14 18:16:21 -07:00
..
builder.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
builder.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
c_test.c Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
c.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
corruption_test.cc Change Function names from Compaction->Flush When they really mean Flush 2013-10-14 15:12:15 -07:00
db_bench.cc LRUCache to try to clean entries not referenced first. 2013-10-11 09:26:21 -07:00
db_filesnapshot.cc Add option for storing transaction logs in a separate dir 2013-10-08 17:40:27 -07:00
db_impl_readonly.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
db_impl_readonly.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
db_impl.cc Features in Transaction log iterator 2013-10-14 18:16:21 -07:00
db_impl.h Change Function names from Compaction->Flush When they really mean Flush 2013-10-14 15:12:15 -07:00
db_iter.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
db_iter.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
db_statistics.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
db_stats_logger.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
db_test.cc Features in Transaction log iterator 2013-10-14 18:16:21 -07:00
dbformat_test.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
dbformat.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
dbformat.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
deletefile_test.cc Change Function names from Compaction->Flush When they really mean Flush 2013-10-14 15:12:15 -07:00
filename_test.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
filename.cc Add option for storing transaction logs in a separate dir 2013-10-08 17:40:27 -07:00
filename.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
log_format.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
log_reader.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
log_reader.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
log_test.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
log_writer.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
log_writer.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
memtable.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
memtable.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
memtablelist.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
memtablelist.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
merge_helper.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
merge_helper.h Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
merge_operator.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
merge_test.cc Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
perf_context_test.cc Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
prefix_filter_iterator.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
repair.cc Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
skiplist_test.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
skiplist.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
snapshot.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
table_cache.cc LRUCache to try to clean entries not referenced first. 2013-10-11 09:26:21 -07:00
table_cache.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
transaction_log_impl.cc Features in Transaction log iterator 2013-10-14 18:16:21 -07:00
transaction_log_impl.h Features in Transaction log iterator 2013-10-14 18:16:21 -07:00
version_edit_test.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
version_edit.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
version_edit.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
version_set_reduce_num_levels.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
version_set_test.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
version_set.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
version_set.h Add statistics to sst file 2013-10-14 15:56:13 -07:00
write_batch_internal.h Migrate names of properties from 'leveldb' prefix to 'rocksdb' prefix. 2013-10-06 00:14:26 -07:00
write_batch_test.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
write_batch.cc Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00