summaryrefslogtreecommitdiff
path: root/HISTORY.md
diff options
context:
space:
mode:
authorAashish Pant <apant@dev2500.prn1.facebook.com>2015-04-24 14:12:58 -0700
committerAashish Pant <apant@dev2500.prn1.facebook.com>2015-04-24 14:12:58 -0700
commit794ccfde89555228d39bbb001755b067e8191ad1 (patch)
treee48df3736bb28d61df5aad4d7d5c48f02529a1f7 /HISTORY.md
parent98a44559d590a8cb63551393e275b57ed7e54504 (diff)
Task 6532943: Rocksdb - SetCapacity() can dynamically change cache capacity if feasible
Summary: When new capacity is larger than existing capacity, simply update the capacity to the new valie When new capacity is less than existing capacity, but more than the usage, simply update the capacity to new value When new capacity is less than the existing capacity and existing usage both, try to purge entries in LRU if feasible to make usage < capacity Test Plan: Created unit tests in cache_test.cc Reviewers: sdong, rven, yhchiang, igor Reviewed By: igor Subscribers: dhruba Differential Revision: https://reviews.facebook.net/D37527
Diffstat (limited to 'HISTORY.md')
-rw-r--r--HISTORY.md3
1 files changed, 3 insertions, 0 deletions
diff --git a/HISTORY.md b/HISTORY.md
index 3a2bebd65..09a34e19f 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -3,6 +3,9 @@
## Unreleased
### New Features
+* Added a new API Cache::SetCapacity(size_t capacity) to dynamically change the maximum configured capacity of the cache. If the new capacity is less than the existing cache usage, the implementation will try to lower the usage by evicting the necessary number of elements following a strict LRU policy.
+
+### New Features
* Added an experimental API for handling flashcache devices (blacklists background threads from caching their reads) -- NewFlashcacheAwareEnv
* If universal compaction is used and options.num_levels > 1, compact files are tried to be stored in none-L0 with smaller files based on options.target_file_size_base. The limitation of DB size when using universal compaction is greatly mitigated by using more levels. You can set num_levels = 1 to make universal compaction behave as before. If you set num_levels > 1 and want to roll back to a previous version, you need to compact all files to a big file in level 0 (by setting target_file_size_base to be large and CompactRange(<cf_handle>, nullptr, nullptr, true, 0) and reopen the DB with the same version to rewrite the manifest, and then you can open it using previous releases.