summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS99
-rw-r--r--README4
-rw-r--r--RELEASE2
-rw-r--r--build_posix/aclocal/version-set.m44
-rw-r--r--build_posix/aclocal/version.m42
-rw-r--r--src/docs/lsm.dox30
-rw-r--r--src/docs/top/main.dox2
7 files changed, 120 insertions, 23 deletions
diff --git a/NEWS b/NEWS
index f83fd5bc935..8f7d1191b1e 100644
--- a/NEWS
+++ b/NEWS
@@ -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
------------------------------------
diff --git a/README b/README
index 3c5bb2f1d02..8032df7f4a6 100644
--- a/README
+++ b/README
@@ -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:
diff --git a/RELEASE b/RELEASE
index b1edeab9e17..286e60e380d 100644
--- a/RELEASE
+++ b/RELEASE
@@ -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>