]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
Add history log and revise script 2.7.fb v2.7
authorkailiu <hfevers@gmail.com>
Tue, 28 Jan 2014 21:06:09 +0000 (13:06 -0800)
committerkailiu <hfevers@gmail.com>
Wed, 29 Jan 2014 04:24:41 +0000 (20:24 -0800)
Summary:
* Add a change log for rocksdb releases.
* Remove the hacky parts of make_new_version.sh, which are either
  no longer useful or will be done in our dedicated 3rd-party release
  tool.

Test Plan: N/A

Reviewers: igor, haobo, sdong, dhruba

CC: leveldb
Differential Revision: https://reviews.facebook.net/D15543

HISTORY.md [new file with mode: 0644]
build_tools/make_new_version.sh

diff --git a/HISTORY.md b/HISTORY.md
new file mode 100644 (file)
index 0000000..912599b
--- /dev/null
@@ -0,0 +1,39 @@
+# Rocksdb Change Log
+
+## 2.7.0 (01/28/2014)
+
+### Public API changes
+
+* Renamed `StackableDB::GetRawDB()` to `StackableDB::GetBaseDB()`.
+* Renamed `WriteBatch::Data()` `const std::string& Data() const`.
+* Renamed class `TableStats` to `TableProperties`.
+* Deleted class `PrefixHashRepFactory`. Please use `NewHashSkipListRepFactory()` instead.
+* Supported multi-threaded `EnableFileDeletions()` and `DisableFileDeletions()`.
+* Added `DB::GetOptions()`.
+* Added `DB::GetDbIdentity()`.
+
+### New Features
+
+* Added [BackupableDB](https://github.com/facebook/rocksdb/wiki/How-to-backup-RocksDB%3F)
+* Implemented [TailingIterator](https://github.com/facebook/rocksdb/wiki/Tailing-Iterator), a special type of iterator that
+  doesn't create a snapshot (can be used to read newly inserted data)
+  and is optimized for doing sequential reads.
+* Added property block for table, which allows (1) a table to store
+  its metadata and (2) end user to collect and store properties they
+  are interested in.
+* Enabled caching index and filter block in block cache (turned off by default).
+* Supported error report when doing manual compaction.
+* Supported additional Linux platform flavors and Mac OS.
+* Put with `SliceParts` - Variant of `Put()` that gathers output like `writev(2)`
+* Bug fixes and code refactor for compatibility with upcoming Column
+  Family feature.
+
+### Performance Improvements
+
+* Huge benchmark performance improvements by multiple efforts. For example, increase in readonly QPS from about 530k in 2.6 release to 1.1 million in 2.7 [1]
+* Speeding up a way RocksDB deleted obsolete files - no longer listing the whole directory under a lock -- decrease in p99
+* Use raw pointer instead of shared pointer for statistics: [5b825d](https://github.com/facebook/rocksdb/commit/5b825d6964e26ec3b4bb6faa708ebb1787f1d7bd) -- huge increase in performance -- shared pointers are slow
+* Optimized locking for `Get()` -- [1fdb3f](https://github.com/facebook/rocksdb/commit/1fdb3f7dc60e96394e3e5b69a46ede5d67fb976c) -- 1.5x QPS increase for some workloads
+* Cache speedup - [e8d40c3](https://github.com/facebook/rocksdb/commit/e8d40c31b3cca0c3e1ae9abe9b9003b1288026a9)
+* Implemented autovector, which allocates first N elements on stack. Most of vectors in RocksDB are small. Also, we never want to allocate heap objects while holding a mutex. -- [c01676e4](https://github.com/facebook/rocksdb/commit/c01676e46d3be08c3c140361ef1f5884f47d3b3c)
+* Lots of efforts to move malloc, memcpy and IO outside of locks
index ca8a2126281cd441b98726d6d9f4e7461a2e80b8..a1ee8272027927b0f10eacd9033b4487ef885b01 100755 (executable)
@@ -27,7 +27,6 @@ if [ $GIT_BRANCH != "master" ]; then
   echo "Error: Current branch is '$GIT_BRANCH', Please switch to master branch."
 fi
 
-# --Step 1: cutting new tag
 title "Adding new tag for this release ..."
 git tag -a "$ROCKSDB_VERSION.fb" -m "Rocksdb $ROCKSDB_VERSION"
 
@@ -38,24 +37,4 @@ export https_proxy="$http_proxy";
 title "Pushing new tag to remote repo ..."
 proxycmd.sh git push origin --tags
 
-# --Step 2: Update README.fb
-title "Updating the latest version info in README.fb ..."
-sed -i "s/Latest release is [0-9]\+.[0-9]\+.fb/Latest release is $ROCKSDB_VERSION.fb/" README.fb
-git commit README.fb -m "update the latest version in README.fb to $ROCKSDB_VERSION"
-proxycmd.sh git push
-
-# --Step 3: Prepare this repo for 3rd release
-title "Cleaning up repo ..."
-make clean
-git clean -fxd
-
-title "Generating the build info ..."
-# Comment out the call of `build_detection_version` so that the SHA number and build date of this
-# release will remain constant. Otherwise everytime we run "make" util/build_version.cc will be 
-# overridden.
-sed -i 's/^\$PWD\/build_tools\/build_detect_version$//' build_tools/build_detect_platform
-
-# Generate util/build_version.cc
-build_tools/build_detect_version
-
 title "Done!"