diff options
author | Michael Cahill <michael.cahill@wiredtiger.com> | 2012-10-19 17:05:45 +1100 |
---|---|---|
committer | Michael Cahill <michael.cahill@wiredtiger.com> | 2012-10-19 17:05:45 +1100 |
commit | 18ad19fb4635cdb17f9312095b0e60ab20f740da (patch) | |
tree | d55bb3261f0573342e723702998d50d62381ace8 | |
parent | 9179a347dcaf930ab07f5caaea7e838a19d087f2 (diff) | |
download | mongo-18ad19fb4635cdb17f9312095b0e60ab20f740da.tar.gz |
Cut release 1.3.4.1.3.4
-rw-r--r-- | NEWS | 99 | ||||
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | RELEASE | 2 | ||||
-rw-r--r-- | build_posix/aclocal/version-set.m4 | 4 | ||||
-rw-r--r-- | build_posix/aclocal/version.m4 | 2 | ||||
-rw-r--r-- | src/docs/lsm.dox | 30 | ||||
-rw-r--r-- | src/docs/top/main.dox | 2 |
7 files changed, 120 insertions, 23 deletions
@@ -1,3 +1,102 @@ +WiredTiger release 1.3.4, 2012-10-19 +------------------------------------ + +This release includes several important new features, including: + +* support for online compaction of files; +* support for tables, column groups and indices that use LSM trees for + storage; and +* improved statistics and configuration for LSM trees and Bloom filters. + +In addition, there are some significant performance improvements and bug +fixes. The full list of changes is: + +[#248] Add support for online compaction. + +[#310] Fixed a bug where overflow blocks could be accessed by a + long-running reader after they had been freed in a checkpoint. + +[#358] Allocate checkpoint blocks from the live system's list of available + blocks rather than always extending the file. + +[#361] Sync the directory after creating a file: this is apparently + required for durability on Linux, according to the Linux fsync man + page. + +[#362] Don't check if a page is on the avail or discard lists if we're + salvaging the file, that is okay. + +[#363] Remove obsolete code dealing with forced eviction. + +[#366] Fake checkpoints may have the delete flag set, ignore them when + rolling checkpoints forward. + +[#367] All metadata reads should ignore the application's transactional + context. + +[#369] Support LSM as a data source for tables, column groups and indices. + +* Add tuning options for LSM bloom filters, including controlling whether + the oldest level in the tree has a Bloom filter, whether newly-created + (level 0) files have Bloom filters, and passing arbitrary file + configuration for Bloom filters. + +* Add a merge generation to LSM chunks. Add a statistic that reports the + highest merge generation in a tree. + +* Add a new LSM statistic tracking searches that could benefit from bloom + filters. + +* Enable LSM statistics in the "wt stat" utility. + +* Interrupt LSM merge operations, rather than waiting on close. + +* Wait for a while before looking for LSM major merges, in case merges + catch up with inserts. + +* Fix LSM index searches. The main issue was LSM search_near was not + always returning the closest key to the search key, which calling code + expects. It now tries hard to find the smallest cursor larger than the + search key, and only if no larger record exists does it return the + largest record smaller than the search key. + +* Reset any old cursor position before an LSM search. This limits hazard + references in an LSM search to a single chunk. + +* Fix a memory leak in an error path in Bloom filters. + +* Tweak the search loops in hazard_{set,clear} in favor of + last-in-first-out ordering. + +* If there are many files open, some hotter than others, walk more files + looking for pages to evict. + +* Don't stop evicting until we reach the target, have eviction wake up + periodically regardless of whether the application signals it. This + latter requires a "timed condition wait" operation. + +* Tweaks to file handle flags for out-of-cache read performance on Linux + (disable readahead and access time updates). + +* Replace the WT_SESSION::dumpfile method with configuration strings to + WT_SESSION::verify. + +* Fix a bug where we weren't skipping unnecessary default checkpoints + because we weren't handling the generational number included in the + internal checkpoint name. + +* Add a "force" configuration flag to WT_SESSION::checkpoint, object + compaction needs it because the work it wants done is done by the block + manager. + +* Make compact and checkpoint operate on a table's indices. + +* When doing a page truncate, lock down the page before we unpack the + on-page cell -- it's possible the page could be instantiated, modified + and reconciled while we're sleeping, in which case the WT_REF.addr field + would no longer point on-page. + + WiredTiger release 1.3.3, 2012-10-11 ------------------------------------ @@ -1,6 +1,6 @@ -WiredTiger 1.3.3: (October 11, 2012) +WiredTiger 1.3.4: (October 19, 2012) -This is version 1.3.3 of WiredTiger. +This is version 1.3.4 of WiredTiger. WiredTiger documentation can be found at: @@ -1,6 +1,6 @@ WIREDTIGER_VERSION_MAJOR=1 WIREDTIGER_VERSION_MINOR=3 -WIREDTIGER_VERSION_PATCH=3 +WIREDTIGER_VERSION_PATCH=4 WIREDTIGER_VERSION="$WIREDTIGER_VERSION_MAJOR.$WIREDTIGER_VERSION_MINOR.$WIREDTIGER_VERSION_PATCH" WIREDTIGER_RELEASE_DATE=`date "+%B %e, %Y"` diff --git a/build_posix/aclocal/version-set.m4 b/build_posix/aclocal/version-set.m4 index b4e2004cf5c..ddc234ad35b 100644 --- a/build_posix/aclocal/version-set.m4 +++ b/build_posix/aclocal/version-set.m4 @@ -2,8 +2,8 @@ dnl build by dist/s_version VERSION_MAJOR=1 VERSION_MINOR=3 -VERSION_PATCH=3 -VERSION_STRING='"WiredTiger 1.3.3: (October 11, 2012)"' +VERSION_PATCH=4 +VERSION_STRING='"WiredTiger 1.3.4: (October 19, 2012)"' AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) diff --git a/build_posix/aclocal/version.m4 b/build_posix/aclocal/version.m4 index e85e0f9b758..1115e974db2 100644 --- a/build_posix/aclocal/version.m4 +++ b/build_posix/aclocal/version.m4 @@ -1,2 +1,2 @@ dnl WiredTiger product version for AC_INIT. Maintained by dist/s_version -1.3.3 +1.3.4 diff --git a/src/docs/lsm.dox b/src/docs/lsm.dox index fe8ffc2fe39..36abf2a8ac5 100644 --- a/src/docs/lsm.dox +++ b/src/docs/lsm.dox @@ -88,8 +88,20 @@ cannot be present. With the defaults, they Bloom filter only requires one byte per key, so it usually fits in cache. The Bloom parameters can be configured with -\c "lsm_bloom_bit_count" and \c "lsm_bloom_hash_count" configuration keys to -WT_SESSION::create. +\c "lsm_bloom_bit_count" and \c "lsm_bloom_hash_count" configuration keys +to WT_SESSION::create. The Bloom file can be configured with the +\c "lsm_bloom_config" key. + +@section lsm_schema Creating tables using LSM trees + +Tables or indices can be stored using LSM trees Schema support is provided +for LSM as with an extension to the WT_SESSION::create method: + +@code +session->create(session, "table:T", "type=lsm"); +@endcode + +The default type for all schema objects will continue to be btree. @section lsm_caveats Caveats @@ -102,20 +114,6 @@ there are chunks in the tree for each cursor that is open on the LSM tree. The number of hazard references is configured with the \c "hazard_max" configuration key to ::wiredtiger_open. -@subsection lsm_schema Creating tables using LSM trees - -It is not yet possible to create tables or indices using LSM trees for -storage. This will be addressed in a future release of WiredTiger. - -Schema support will be provided for LSM as with an extension to the -WT_SESSION::create method: - -@code -session->create(session, "table:T", "type=lsm"); -@endcode - -The default type for all schema objects will continue to be btree. - @subsection lsm_tombstones Empty values Internally, WiredTiger's LSM trees use an empty value to represent a diff --git a/src/docs/top/main.dox b/src/docs/top/main.dox index 6121e356044..dfcdec36bae 100644 --- a/src/docs/top/main.dox +++ b/src/docs/top/main.dox @@ -13,7 +13,7 @@ To ask questions or discuss issues related to using WiredTiger, visit our View the documentation online: -- <a href="1.3.3/index.html"><b>WiredTiger 1.3.3 (current release)</b></a> +- <a href="1.3.4/index.html"><b>WiredTiger 1.3.4 (current release)</b></a> - <a href="1.2.2/index.html"><b>WiredTiger 1.2.2</b></a> - <a href="1.1.5/index.html"><b>WiredTiger 1.1.5</b></a> |