Revision 2014cdf2d0792236ae22b94cf862c6ca537e2903 authored by Aaron Gao on 05 May 2017, 22:01:04 UTC, committed by Aaron Gao on 10 May 2017, 21:06:33 UTC
Summary: Now if we have iterate_upper_bound set, we continue read until get a key >= upper_bound. For a lot of cases that neighboring data blocks have a user key gap between them, our index key will be a user key in the middle to get a shorter size. For example, if we have blocks: [a b c d][f g h] Then the index key for the first block will be 'e'. then if upper bound is any key between 'd' and 'e', for example, d1, d2, ..., d99999999999, we don't have to read the second block and also know that we have done our iteration by reaching the last key that smaller the upper bound already. This diff can reduce RA in most cases. Closes https://github.com/facebook/rocksdb/pull/2239 Differential Revision: D4990693 Pulled By: lightmark fbshipit-source-id: ab30ea2e3c6edf3fddd5efed3c34fcf7739827ff
1 parent 459e00b
File | Mode | Size |
---|---|---|
builder.cc | -rw-r--r-- | 8.6 KB |
builder.h | -rw-r--r-- | 3.4 KB |
c.cc | -rw-r--r-- | 96.2 KB |
c_test.c | -rw-r--r-- | 41.8 KB |
column_family.cc | -rw-r--r-- | 41.6 KB |
column_family.h | -rw-r--r-- | 22.4 KB |
column_family_test.cc | -rw-r--r-- | 105.5 KB |
compact_files_test.cc | -rw-r--r-- | 9.4 KB |
compacted_db_impl.cc | -rw-r--r-- | 5.6 KB |
compacted_db_impl.h | -rw-r--r-- | 3.8 KB |
compaction.cc | -rw-r--r-- | 15.7 KB |
compaction.h | -rw-r--r-- | 11.8 KB |
compaction_iteration_stats.h | -rw-r--r-- | 1.2 KB |
compaction_iterator.cc | -rw-r--r-- | 24.0 KB |
compaction_iterator.h | -rw-r--r-- | 7.6 KB |
compaction_iterator_test.cc | -rw-r--r-- | 15.8 KB |
compaction_job.cc | -rw-r--r-- | 53.7 KB |
compaction_job.h | -rw-r--r-- | 5.5 KB |
compaction_job_stats_test.cc | -rw-r--r-- | 35.6 KB |
compaction_job_test.cc | -rw-r--r-- | 34.4 KB |
compaction_picker.cc | -rw-r--r-- | 53.5 KB |
compaction_picker.h | -rw-r--r-- | 12.0 KB |
compaction_picker_test.cc | -rw-r--r-- | 49.3 KB |
compaction_picker_universal.cc | -rw-r--r-- | 26.9 KB |
compaction_picker_universal.h | -rw-r--r-- | 3.7 KB |
comparator_db_test.cc | -rw-r--r-- | 12.5 KB |
convenience.cc | -rw-r--r-- | 936 bytes |
corruption_test.cc | -rw-r--r-- | 14.8 KB |
cuckoo_table_db_test.cc | -rw-r--r-- | 9.6 KB |
db_basic_test.cc | -rw-r--r-- | 27.8 KB |
db_block_cache_test.cc | -rw-r--r-- | 21.8 KB |
db_bloom_filter_test.cc | -rw-r--r-- | 40.0 KB |
db_compaction_filter_test.cc | -rw-r--r-- | 25.9 KB |
db_compaction_test.cc | -rw-r--r-- | 88.6 KB |
db_dynamic_level_test.cc | -rw-r--r-- | 17.1 KB |
db_filesnapshot.cc | -rw-r--r-- | 4.4 KB |
db_flush_test.cc | -rw-r--r-- | 4.3 KB |
db_impl.cc | -rw-r--r-- | 88.4 KB |
db_impl.h | -rw-r--r-- | 45.4 KB |
db_impl_compaction_flush.cc | -rw-r--r-- | 63.2 KB |
db_impl_debug.cc | -rw-r--r-- | 5.6 KB |
db_impl_experimental.cc | -rw-r--r-- | 5.4 KB |
db_impl_files.cc | -rw-r--r-- | 19.0 KB |
db_impl_open.cc | -rw-r--r-- | 38.5 KB |
db_impl_readonly.cc | -rw-r--r-- | 6.8 KB |
db_impl_readonly.h | -rw-r--r-- | 4.5 KB |
db_impl_write.cc | -rw-r--r-- | 30.8 KB |
db_info_dumper.cc | -rw-r--r-- | 3.7 KB |
db_info_dumper.h | -rw-r--r-- | 519 bytes |
db_inplace_update_test.cc | -rw-r--r-- | 5.7 KB |
db_io_failure_test.cc | -rw-r--r-- | 8.3 KB |
db_iter.cc | -rw-r--r-- | 40.5 KB |
db_iter.h | -rw-r--r-- | 3.3 KB |
db_iter_test.cc | -rw-r--r-- | 94.1 KB |
db_iterator_test.cc | -rw-r--r-- | 57.6 KB |
db_log_iter_test.cc | -rw-r--r-- | 9.6 KB |
db_memtable_test.cc | -rw-r--r-- | 5.1 KB |
db_merge_operator_test.cc | -rw-r--r-- | 11.7 KB |
db_options_test.cc | -rw-r--r-- | 13.4 KB |
db_properties_test.cc | -rw-r--r-- | 47.3 KB |
db_range_del_test.cc | -rw-r--r-- | 31.4 KB |
db_sst_test.cc | -rw-r--r-- | 28.4 KB |
db_table_properties_test.cc | -rw-r--r-- | 8.0 KB |
db_tailing_iter_test.cc | -rw-r--r-- | 23.9 KB |
db_test.cc | -rw-r--r-- | 173.1 KB |
db_test2.cc | -rw-r--r-- | 73.2 KB |
db_test_util.cc | -rw-r--r-- | 41.0 KB |
db_test_util.h | -rw-r--r-- | 27.6 KB |
db_universal_compaction_test.cc | -rw-r--r-- | 50.3 KB |
db_wal_test.cc | -rw-r--r-- | 41.9 KB |
dbformat.cc | -rw-r--r-- | 5.9 KB |
dbformat.h | -rw-r--r-- | 19.0 KB |
dbformat_test.cc | -rw-r--r-- | 7.0 KB |
deletefile_test.cc | -rw-r--r-- | 16.1 KB |
event_helpers.cc | -rw-r--r-- | 4.3 KB |
event_helpers.h | -rw-r--r-- | 1.8 KB |
experimental.cc | -rw-r--r-- | 1.6 KB |
external_sst_file_basic_test.cc | -rw-r--r-- | 10.9 KB |
external_sst_file_ingestion_job.cc | -rw-r--r-- | 18.1 KB |
external_sst_file_ingestion_job.h | -rw-r--r-- | 5.1 KB |
external_sst_file_test.cc | -rw-r--r-- | 61.1 KB |
fault_injection_test.cc | -rw-r--r-- | 16.4 KB |
file_indexer.cc | -rw-r--r-- | 7.6 KB |
file_indexer.h | -rw-r--r-- | 6.1 KB |
file_indexer_test.cc | -rw-r--r-- | 9.8 KB |
filename_test.cc | -rw-r--r-- | 5.7 KB |
flush_job.cc | -rw-r--r-- | 12.9 KB |
flush_job.h | -rw-r--r-- | 3.5 KB |
flush_job_test.cc | -rw-r--r-- | 8.0 KB |
flush_scheduler.cc | -rw-r--r-- | 2.1 KB |
flush_scheduler.h | -rw-r--r-- | 1.2 KB |
forward_iterator.cc | -rw-r--r-- | 27.4 KB |
forward_iterator.h | -rw-r--r-- | 5.2 KB |
forward_iterator_bench.cc | -rw-r--r-- | 11.3 KB |
internal_stats.cc | -rw-r--r-- | 49.6 KB |
internal_stats.h | -rw-r--r-- | 20.0 KB |
job_context.h | -rw-r--r-- | 4.1 KB |
listener_test.cc | -rw-r--r-- | 25.7 KB |
log_format.h | -rw-r--r-- | 1.4 KB |
log_reader.cc | -rw-r--r-- | 13.9 KB |
log_reader.h | -rw-r--r-- | 5.5 KB |
log_test.cc | -rw-r--r-- | 21.6 KB |
log_writer.cc | -rw-r--r-- | 4.4 KB |
log_writer.h | -rw-r--r-- | 3.6 KB |
managed_iterator.cc | -rw-r--r-- | 6.6 KB |
managed_iterator.h | -rw-r--r-- | 2.5 KB |
manual_compaction_test.cc | -rw-r--r-- | 4.5 KB |
memtable.cc | -rw-r--r-- | 31.4 KB |
memtable.h | -rw-r--r-- | 16.3 KB |
memtable_list.cc | -rw-r--r-- | 15.7 KB |
memtable_list.h | -rw-r--r-- | 9.4 KB |
memtable_list_test.cc | -rw-r--r-- | 21.3 KB |
merge_context.h | -rw-r--r-- | 3.2 KB |
merge_helper.cc | -rw-r--r-- | 14.1 KB |
merge_helper.h | -rw-r--r-- | 8.1 KB |
merge_helper_test.cc | -rw-r--r-- | 11.2 KB |
merge_operator.cc | -rw-r--r-- | 3.1 KB |
merge_test.cc | -rw-r--r-- | 13.9 KB |
options_file_test.cc | -rw-r--r-- | 3.6 KB |
perf_context_test.cc | -rw-r--r-- | 22.0 KB |
pinned_iterators_manager.h | -rw-r--r-- | 2.5 KB |
plain_table_db_test.cc | -rw-r--r-- | 39.8 KB |
prefix_test.cc | -rw-r--r-- | 28.7 KB |
range_del_aggregator.cc | -rw-r--r-- | 21.0 KB |
range_del_aggregator.h | -rw-r--r-- | 7.7 KB |
range_del_aggregator_test.cc | -rw-r--r-- | 4.9 KB |
repair.cc | -rw-r--r-- | 22.2 KB |
repair_test.cc | -rw-r--r-- | 9.6 KB |
snapshot_impl.cc | -rw-r--r-- | 805 bytes |
snapshot_impl.h | -rw-r--r-- | 3.6 KB |
table_cache.cc | -rw-r--r-- | 14.5 KB |
table_cache.h | -rw-r--r-- | 5.8 KB |
table_properties_collector.cc | -rw-r--r-- | 4.1 KB |
table_properties_collector.h | -rw-r--r-- | 4.3 KB |
table_properties_collector_test.cc | -rw-r--r-- | 17.9 KB |
transaction_log_impl.cc | -rw-r--r-- | 8.9 KB |
transaction_log_impl.h | -rw-r--r-- | 4.2 KB |
version_builder.cc | -rw-r--r-- | 13.7 KB |
version_builder.h | -rw-r--r-- | 1.6 KB |
version_builder_test.cc | -rw-r--r-- | 10.4 KB |
version_edit.cc | -rw-r--r-- | 16.5 KB |
version_edit.h | -rw-r--r-- | 9.2 KB |
version_edit_test.cc | -rw-r--r-- | 6.3 KB |
version_set.cc | -rw-r--r-- | 129.9 KB |
version_set.h | -rw-r--r-- | 32.2 KB |
version_set_test.cc | -rw-r--r-- | 14.6 KB |
wal_manager.cc | -rw-r--r-- | 15.9 KB |
wal_manager.h | -rw-r--r-- | 3.2 KB |
wal_manager_test.cc | -rw-r--r-- | 9.5 KB |
write_batch.cc | -rw-r--r-- | 46.5 KB |
write_batch_base.cc | -rw-r--r-- | 3.1 KB |
write_batch_internal.h | -rw-r--r-- | 8.1 KB |
write_batch_test.cc | -rw-r--r-- | 26.2 KB |
write_callback.h | -rw-r--r-- | 838 bytes |
write_callback_test.cc | -rw-r--r-- | 10.0 KB |
write_controller.cc | -rw-r--r-- | 4.0 KB |
write_controller.h | -rw-r--r-- | 4.4 KB |
write_controller_test.cc | -rw-r--r-- | 4.7 KB |
write_thread.cc | -rw-r--r-- | 17.0 KB |
write_thread.h | -rw-r--r-- | 11.7 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...