mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-25 22:44:05 +00:00
dbe3810c74
Summary: Context: As need for new feature of resource management using RocksDB's rate limiter like [https://github.com/facebook/rocksdb/issues/8595](https://github.com/facebook/rocksdb/pull/8595) arises, it is about time to re-learn our rate limiter and make this learning process easier for others by improving its readability. The comment/assertion/one extra else-branch are added based on my best understanding toward the rate_limiter.cc and rate_limiter_test.cc up to date after giving it a hard read. - Add code comments/assertion/one extra else-branch (that is not affecting existing behavior, see PR comment) to describe how leader-election works under multi-thread settings in GenericRateLimiter::Request() - Add code comments to describe a non-obvious trick during clean-up of rate limiter destructor - Add code comments to explain more about the starvation being fixed in GenericRateLimiter::Refill() through partial byte-granting - Add code comments to the rate limiter's setup in a complicated unit test in rate_limiter_test Pull Request resolved: https://github.com/facebook/rocksdb/pull/8596 Test Plan: - passed existing rate_limiter_test.cc Reviewed By: ajkr Differential Revision: D29982590 Pulled By: hx235 fbshipit-source-id: c3592986bb5b0c90d8229fe44f425251ec7e8a0a |
||
---|---|---|
.. | ||
aligned_buffer.h | ||
autovector.h | ||
autovector_test.cc | ||
bloom_impl.h | ||
bloom_test.cc | ||
build_version.cc.in | ||
cast_util.h | ||
channel.h | ||
coding.cc | ||
coding.h | ||
coding_lean.h | ||
coding_test.cc | ||
compaction_job_stats_impl.cc | ||
comparator.cc | ||
compression.h | ||
compression_context_cache.cc | ||
compression_context_cache.h | ||
concurrent_task_limiter_impl.cc | ||
concurrent_task_limiter_impl.h | ||
core_local.h | ||
crc32c.cc | ||
crc32c.h | ||
crc32c_arm64.cc | ||
crc32c_arm64.h | ||
crc32c_ppc.c | ||
crc32c_ppc.h | ||
crc32c_ppc_asm.S | ||
crc32c_ppc_constants.h | ||
crc32c_test.cc | ||
defer.h | ||
defer_test.cc | ||
duplicate_detector.h | ||
dynamic_bloom.cc | ||
dynamic_bloom.h | ||
dynamic_bloom_test.cc | ||
fastrange.h | ||
file_checksum_helper.cc | ||
file_checksum_helper.h | ||
file_reader_writer_test.cc | ||
filelock_test.cc | ||
filter_bench.cc | ||
gflags_compat.h | ||
hash.cc | ||
hash.h | ||
hash_map.h | ||
hash_test.cc | ||
heap.h | ||
heap_test.cc | ||
kv_map.h | ||
log_write_bench.cc | ||
math.h | ||
math128.h | ||
murmurhash.cc | ||
murmurhash.h | ||
mutexlock.h | ||
ppc-opcode.h | ||
random.cc | ||
random.h | ||
random_test.cc | ||
rate_limiter.cc | ||
rate_limiter.h | ||
rate_limiter_test.cc | ||
repeatable_thread.h | ||
repeatable_thread_test.cc | ||
ribbon_alg.h | ||
ribbon_config.cc | ||
ribbon_config.h | ||
ribbon_impl.h | ||
ribbon_test.cc | ||
set_comparator.h | ||
slice.cc | ||
slice_test.cc | ||
slice_transform_test.cc | ||
status.cc | ||
stderr_logger.h | ||
stop_watch.h | ||
string_util.cc | ||
string_util.h | ||
thread_guard.h | ||
thread_list_test.cc | ||
thread_local.cc | ||
thread_local.h | ||
thread_local_test.cc | ||
thread_operation.h | ||
threadpool_imp.cc | ||
threadpool_imp.h | ||
timer.h | ||
timer_queue.h | ||
timer_queue_test.cc | ||
timer_test.cc | ||
user_comparator_wrapper.h | ||
vector_iterator.h | ||
work_queue.h | ||
work_queue_test.cc | ||
xxh3p.h | ||
xxhash.cc | ||
xxhash.h |