rocksdb/db
Aaron Gao b50a81a2bb Add a test for tailing_iterator
Summary:
A bug that tailingIterator->Seek(target) skips records.

I think the bug is in the SeekInternal starting at lines 387:
search_left_bound > search_right_bound
There are only 2 cases this can happen:
(1) target key is smaller than left most file
(2) target key is larger than right most file

The comment is wrong, there is another possibility that at the higher level there is a big gap such that the file in the lower level fits completely in the gap and then
indexer->GetNextLevelIndex returns search_left_bound > search_right_bound I think pointing on the files after and before the gap.
details: https://github.com/facebook/rocksdb/issues/1372

fixed this bug with test case added.
Closes https://github.com/facebook/rocksdb/pull/1436

Reviewed By: IslamAbdelRahman

Differential Revision: D4099313

Pulled By: lightmark

fbshipit-source-id: 6a675b3
2016-10-28 18:24:14 -07:00
..
auto_roll_logger.cc Eliminate use of 'using namespace std'. Also remove a number of ADL references to std functions. 2016-05-20 07:42:18 -07:00
auto_roll_logger.h Redo SyncPoints for flush while rolling test 2016-02-22 21:32:19 -08:00
auto_roll_logger_test.cc Cleanup auto-roll logger flush-while-rolling test 2016-07-07 11:35:40 -07:00
builder.cc Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
builder.h Add TableBuilderOptions::level and relevant changes (#1335) 2016-09-17 22:30:43 -07:00
c.cc Fix C api memtable rep bugs. (#1328) 2016-09-12 15:31:42 -07:00
c_test.c Fix C api memtable rep bugs. (#1328) 2016-09-12 15:31:42 -07:00
column_family.cc Fix integer overflow in GetL0ThresholdSpeedupCompaction (#1378) 2016-10-23 18:43:29 -07:00
column_family.h Change ioptions to store user_comparator, fix bug 2016-10-21 11:31:42 -07:00
column_family_test.cc Change ioptions to store user_comparator, fix bug 2016-10-21 11:31:42 -07:00
compact_files_test.cc fix data race in compact_files_test 2016-10-19 13:37:51 -07:00
compacted_db_impl.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
compacted_db_impl.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
compaction.cc Refactor MutableCFOptions 2016-09-13 21:11:59 -07:00
compaction.h Fix compaction conflict with running compaction 2016-10-13 10:49:06 -07:00
compaction_iterator.cc Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
compaction_iterator.h Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
compaction_iterator_test.cc Fix uninitialized variable gcc error for MyRocks 2016-10-19 10:59:46 -07:00
compaction_job.cc not split file in compaciton on level 0 2016-10-18 16:30:34 -07:00
compaction_job.h Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
compaction_job_stats_test.cc UniversalCompaction should ignore sorted runs being compacted (when compacting for file num) 2016-08-10 12:37:43 -07:00
compaction_job_test.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
compaction_picker.cc Fix a bug that may cause a deleted row to appear again 2016-10-24 09:49:07 -07:00
compaction_picker.h Fix compaction conflict with running compaction 2016-10-13 10:49:06 -07:00
compaction_picker_test.cc Fix a bug that may cause a deleted row to appear again 2016-10-24 09:49:07 -07:00
comparator_db_test.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
convenience.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
corruption_test.cc Change several option defaults 2016-04-28 17:50:58 -07:00
cuckoo_table_db_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
db_block_cache_test.cc Not insert into block cache if cache is full and not holding handle 2016-08-23 13:53:49 -07:00
db_bloom_filter_test.cc Deprectate filter_deletes 2016-06-17 10:30:47 -07:00
db_compaction_filter_test.cc Change some RocksDB default options 2016-03-31 17:12:18 -07:00
db_compaction_test.cc Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
db_dynamic_level_test.cc Merge options source_compaction_factor, max_grandparent_overlap_bytes and expanded_compaction_factor into max_compaction_bytes 2016-09-01 14:33:24 -07:00
db_filesnapshot.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
db_flush_test.cc Fix unit test which breaks lite build 2016-07-21 14:32:12 -07:00
db_impl.cc L0 compression should follow options.compression_per_level if not empty 2016-10-28 17:39:20 -07:00
db_impl.h Change ioptions to store user_comparator, fix bug 2016-10-21 11:31:42 -07:00
db_impl_debug.cc Make max_background_compactions and base_background_compactions dynamic changeable 2016-10-14 12:25:39 -07:00
db_impl_experimental.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
db_impl_readonly.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
db_impl_readonly.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
db_info_dumper.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
db_info_dumper.h Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
db_inplace_update_test.cc Change some RocksDB default options 2016-03-31 17:12:18 -07:00
db_io_failure_test.cc Add NoSpace subcode to IOError (#1320) 2016-09-07 12:37:45 -07:00
db_iter.cc fix db_stress assertion failure 2016-10-18 16:07:10 -07:00
db_iter.h new Prev() prefix support using SeekForPrev() 2016-10-11 13:54:26 -07:00
db_iter_test.cc fix db_stress assertion failure 2016-10-18 16:07:10 -07:00
db_iterator_test.cc fix assertion failure in Prev() 2016-10-13 17:36:48 -07:00
db_log_iter_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
db_options_test.cc Change ioptions to store user_comparator, fix bug 2016-10-21 11:31:42 -07:00
db_properties_test.cc Use skiplist rep for range tombstone memtable 2016-10-27 10:07:28 -07:00
db_sst_test.cc DBSSTTest.RateLimitedDelete: not to use real clock 2016-10-24 10:35:00 -07:00
db_table_properties_test.cc DBTablePropertiesTest.GetPropertiesOfTablesInRange: Fix Flaky 2016-07-19 15:46:20 -07:00
db_tailing_iter_test.cc Add a test for tailing_iterator 2016-10-28 18:24:14 -07:00
db_test.cc Disable DBTest.RepeatedWritesToSameKey (#1420) 2016-10-25 10:23:50 -07:00
db_test2.cc Fix compaction conflict with running compaction 2016-10-13 10:49:06 -07:00
db_test_util.cc Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
db_test_util.h Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
db_universal_compaction_test.cc Restrict running condition of UniversalCompactionTrivialMoveTest2 2016-10-20 15:43:00 -07:00
db_wal_test.cc Handle WAL deletion when using avoid_flush_during_recovery 2016-10-14 12:59:51 -07:00
dbformat.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
dbformat.h Fix uninitialized variable gcc error for MyRocks 2016-10-19 10:59:46 -07:00
dbformat_test.cc Improve BytewiseComparatorImpl::FindShortestSeparator 2016-04-25 23:02:14 -07:00
deletefile_test.cc Fix a bug that accesses invalid address in iterator cleanup function 2016-07-05 11:57:14 -07:00
event_helpers.cc Added EventListener::OnTableFileCreationStarted() callback 2016-04-29 11:35:00 -07:00
event_helpers.h Added EventListener::OnTableFileCreationStarted() callback 2016-04-29 11:35:00 -07:00
experimental.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
external_sst_file_ingestion_job.cc Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
external_sst_file_ingestion_job.h Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
external_sst_file_test.cc Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
fault_injection_test.cc Add facility to write only a portion of WriteBatch to WAL 2016-10-07 11:32:10 -07:00
file_indexer.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
file_indexer.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
file_indexer_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
filename.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
filename.h Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
filename_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
flush_job.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
flush_job.h Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
flush_job_test.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
flush_scheduler.cc Fix clang analyzer errors 2016-07-08 17:50:51 -07:00
flush_scheduler.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
forward_iterator.cc revert fractional cascading in farward iterator 2016-10-28 10:25:39 -07:00
forward_iterator.h Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
forward_iterator_bench.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
inlineskiplist.h Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
inlineskiplist_test.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
internal_stats.cc Fix mac build 2016-09-21 20:22:09 -07:00
internal_stats.h Add AddFile() InternalStats for Total files/L0 files/total keys ingested 2016-09-21 14:24:08 -07:00
job_context.h fixup commit 2016-10-13 08:48:40 -07:00
listener_test.cc add cfh deletion started listener 2016-09-22 11:56:18 -07:00
log_format.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
log_reader.cc Fix clang analyzer errors 2016-07-08 17:50:51 -07:00
log_reader.h db/log_reader: treat bad record length or checksum as EOF 2016-05-22 22:00:15 -07:00
log_test.cc db/log_reader: treat bad record length or checksum as EOF 2016-05-22 22:00:15 -07:00
log_writer.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
log_writer.h Need to make sure log file synced before flushing memtable of one column family 2016-07-21 16:29:06 -07:00
managed_iterator.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
managed_iterator.h Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
manual_compaction_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
memtable.cc Use skiplist rep for range tombstone memtable 2016-10-27 10:07:28 -07:00
memtable.h Store range tombstones in memtable 2016-09-30 09:06:43 -07:00
memtable_allocator.cc Avoid updating memtable allocated bytes if write_buffer_size is not set 2016-07-13 19:33:57 -07:00
memtable_allocator.h Add options.write_buffer_manager: control total memtable size across DB instances 2016-07-05 18:11:25 -07:00
memtable_list.cc Fix flush not being commit while writing manifest 2016-07-21 10:10:41 -07:00
memtable_list.h [rocksdb] Memtable Log Referencing and Prepared Batch Recovery 2016-05-10 14:06:07 -07:00
memtable_list_test.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
memtablerep_bench.cc Add options.write_buffer_manager: control total memtable size across DB instances 2016-07-05 18:11:25 -07:00
merge_context.h Fix MergeContext::copied_operands_ strings moving 2016-07-25 15:31:41 -07:00
merge_helper.cc Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
merge_helper.h Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
merge_helper_test.cc Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
merge_operator.cc Introduce FullMergeV2 (eliminate memcpy from merge operators) 2016-07-20 09:49:03 -07:00
merge_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
options_file_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
perf_context_test.cc CompactedDB should not be used if there is outstanding WAL files 2016-04-26 14:22:07 -07:00
pinned_iterators_manager.h Minor PinnedIteratorsManager Refactoring 2016-08-11 11:54:17 -07:00
plain_table_db_test.cc Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
prefix_test.cc SamePrefixTest.InDomainTest to clear the test directory before testing 2016-10-18 14:01:10 -07:00
range_del_aggregator.cc Fix uninitialized variable gcc error for MyRocks 2016-10-19 10:59:46 -07:00
range_del_aggregator.h Improve RangeDelAggregator documentation 2016-10-28 15:54:21 -07:00
repair.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
repair_test.cc ColumnFamilyOptions API [CF + RepairDB part 3/3] 2016-06-24 16:29:43 -07:00
skiplist.h Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
skiplist_test.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
snapshot_impl.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
snapshot_impl.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
table_cache.cc Fix uninitialized variable gcc error for MyRocks 2016-10-19 10:59:46 -07:00
table_cache.h Compaction Support for Range Deletion 2016-10-18 12:04:56 -07:00
table_properties_collector.cc Added "number of merge operands" to statistics in ssts. 2016-05-19 14:24:48 -07:00
table_properties_collector.h Added "number of merge operands" to statistics in ssts. 2016-05-19 14:24:48 -07:00
table_properties_collector_test.cc Change ioptions to store user_comparator, fix bug 2016-10-21 11:31:42 -07:00
transaction_log_impl.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
transaction_log_impl.h Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
version_builder.cc Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
version_builder.h Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
version_builder_test.cc Support running consistency checks in release mode 2016-10-07 17:21:45 -07:00
version_edit.cc Miscellaneous performance improvements 2016-07-12 14:15:32 -07:00
version_edit.h Avoid FileMetaData copy 2016-07-13 15:36:22 -07:00
version_edit_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
version_set.cc Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
version_set.h Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
version_set_test.cc Support running consistency checks in release mode 2016-10-07 17:21:45 -07:00
wal_manager.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
wal_manager.h Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
wal_manager_test.cc Split DBOptions into ImmutableDBOptions and MutableDBOptions 2016-09-23 16:34:04 -07:00
write_batch.cc Add facility to write only a portion of WriteBatch to WAL 2016-10-07 11:32:10 -07:00
write_batch_base.cc WriteBatch support for range deletion 2016-08-16 08:16:04 -07:00
write_batch_internal.h Add facility to write only a portion of WriteBatch to WAL 2016-10-07 11:32:10 -07:00
write_batch_test.cc Add facility to write only a portion of WriteBatch to WAL 2016-10-07 11:32:10 -07:00
write_callback.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
write_callback_test.cc write_callback_test: clean test directory before running tests 2016-04-18 10:18:41 -07:00
write_controller.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
write_controller.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
write_controller_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
write_thread.cc WriteBatch support for range deletion 2016-08-16 08:16:04 -07:00
write_thread.h fix simple typos (#1183) 2016-06-25 08:29:40 +01:00
xfunc_test_points.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
xfunc_test_points.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00