diff options
author | Alex Gorrod <alexg@wiredtiger.com> | 2016-03-23 16:20:47 +1100 |
---|---|---|
committer | Alex Gorrod <alexg@wiredtiger.com> | 2016-03-23 16:20:47 +1100 |
commit | fc99d7e5307ef6a57b3a53edde16d9b9490fe982 (patch) | |
tree | c8caed19db05298cb2e744c334f532bc8a44f268 | |
parent | d16256ae1e007ff285cc2bdc3b3a9c1f5f11a0ef (diff) | |
download | mongo-fc99d7e5307ef6a57b3a53edde16d9b9490fe982.tar.gz |
Fixup changelog so it renders in our documentation.
-rw-r--r-- | NEWS | 712 |
1 files changed, 356 insertions, 356 deletions
@@ -6,153 +6,153 @@ fixes. New features and API changes; refer to the API documentation for full details: -WT-60 Port WiredTiger to run on big endian platforms -WT-2287 Add a new WT_SESSION.rebalance API -WT-2333 Add a no_wait configuration setting to WT_SESSION.drop so it doesn't block -WT-2349 Add a readonly configuration setting to wiredtiger_open -WT-2363 Remove built in support for bzip2 compression -WT-2404 Add streaming pack/unpack methods to the extension API +* WT-60 Port WiredTiger to run on big endian platforms +* WT-2287 Add a new WT_SESSION.rebalance API +* WT-2333 Add a no_wait configuration setting to WT_SESSION.drop so it doesn't block +* WT-2349 Add a readonly configuration setting to wiredtiger_open +* WT-2363 Remove built in support for bzip2 compression +* WT-2404 Add streaming pack/unpack methods to the extension API Significant changes and bug fixes: -WT-1801 Add a directory sync after rollback of a WT_SESSION::rename operation -WT-2130 Improve on-disk page utilization with random workloads -WT-2275 Fix a database corruption after application crash -WT-2264 High update workloads can cause checkpoints to never complete -WT-2290 Improve how effective WT_SESSION.compact is -WT-2361 Fix a bug in column-store where verify identifies out of order data -WT-2367 Fix a bug in WT_CURSOR.next that could cause out-of-order key returns -WT-2374 Fix a bug where a database was corrupted after a hard crash -WT-2451 Allow the WiredTiger metadata to be evicted -WT-2490 Fix a bug in column-store where search_near() returns the wrong key +* WT-1801 Add a directory sync after rollback of a WT_SESSION::rename operation +* WT-2130 Improve on-disk page utilization with random workloads +* WT-2275 Fix a database corruption after application crash +* WT-2264 High update workloads can cause checkpoints to never complete +* WT-2290 Improve how effective WT_SESSION.compact is +* WT-2361 Fix a bug in column-store where verify identifies out of order data +* WT-2367 Fix a bug in WT_CURSOR.next that could cause out-of-order key returns +* WT-2374 Fix a bug where a database was corrupted after a hard crash +* WT-2451 Allow the WiredTiger metadata to be evicted +* WT-2490 Fix a bug in column-store where search_near() returns the wrong key Issues fixed in MongoDB: -SERVER-21619 sys-perf: WT crash during core_workloads_WT execution -SERVER-21833 Enhance WT_SESSION::compact to more reliably release space -SERVER-21887 Enhance $sample to be faster on newly created collection -SERVER-22676 Fix a bug in WiredTiger fails to open databases created by 3.0.0 or 3.0.1 -SERVER-22773 CRC32 implementation on PPC was broken -SERVER-22831 Low query rate with heavy cache pressure and an idle collection +* SERVER-21619 sys-perf: WT crash during core_workloads_WT execution +* SERVER-21833 Enhance WT_SESSION::compact to more reliably release space +* SERVER-21887 Enhance $sample to be faster on newly created collection +* SERVER-22676 Fix a bug in WiredTiger fails to open databases created by 3.0.0 or 3.0.1 +* SERVER-22773 CRC32 implementation on PPC was broken +* SERVER-22831 Low query rate with heavy cache pressure and an idle collection Other note worthy changes since the previous release: -WT-1517 Fix error handling around schema format edge cases -WT-2060 Simplify aggregation of statistics -WT-2073 Metadata cleanups -WT-2099 Seeing memory underflow messages -WT-2107 Add example code including an event handler -WT-2113 Truncate test occasionally fails with unexpected EBUSY -WT-2123 Don't clear allocated memory if not required -WT-2173 Fix some cases where tiny caches could get stuck full -WT-2177 Add an optional per-thread seed to random number generator -WT-2198 Bulk load and column store appends -WT-2215 WT_LSN needs to support atomic reads and updates -WT-2216 Simplify row-store search loop slightly -WT-2231 Pinned page cursor searches could check parent keys -WT-2235 Add a unicode option to WiredTiger printlog utility -WT-2242 WiredTiger treats dead trees the same as other trees in eviction -WT-2246 Improve performance for column-store append searches -WT-2247 Variable-length column-store in-memory page splits -WT-2258 Stop WiredTiger pre-loading pages when direct-IO is configured -WT-2259 Fix error handling when getting exclusive access to a btree -WT-2262 Fix random cursor next so it is not skewed by tree shape -WT-2265 WiredTiger related change in PPC specific code block in gcc.h -WT-2272 Fix a bug in the sweep server that triggered an assertion -WT-2276 Add a tool to decode checkpoint addr -WT-2277 Remove WT check against big-endian systems -WT-2279 Define WT_PAUSE(), WT_FULL_BARRIER(), etc when s390x is defined -WT-2280 Add CRC32 Optimized code for PPC -WT-2282 Error in wt_txn_update_oldest verbose message test -WT-2283 Retry in txn_update_oldest results in a hang -WT-2285 Enhance configure to set BUFFER_ALIGNMENT_DEFAULT to 4kb on Linux -WT-2289 Fix a bug in btree search when doing a fast key check -WT-2291 Random cursor walk inefficient in skip list only trees -WT-2295 WT_SESSION.create does a full-scan of the main table -WT-2296 Improve log algorithm for sync/flush settings -WT-2297 Fix off-by-one error in Huffman config file parsing -WT-2299 Clean up layering violation between btree and block manager code -WT-2307 Fix a bug where internal page splits can corrupt cursor iteration -WT-2308 Add support for custom extractor for ref_cursors in join cursor -WT-2311 Add support for UltraSparc platform -WT-2312 Fix a bug where re-creating a deleted column-store page can corrupt the in-memory tree -WT-2313 Fix a bug in the sweep server -WT-2314 Update page-swap error handling so that it is consistent -WT-2316 Fix a bug in WT_CURSOR.prev where it could return keys out-of-order -WT-2318 Enhance condition wait implementation to use less CPU on idle databases -WT-2321 Fix a race between eviction and worker threads on the eviction queue -WT-2322 Fix a bug in read-uncommitted join cursors where using Bloom filters is unsafe -WT-2328 Update schema drop does to use the block manager interface for file removal -WT-2331 Checking of search result for reference cursors before join -WT-2332 Fix a bug in logging write-no-sync mode -WT-2335 Fix a bug where parsing an invalid configuration string could segfault -WT-2338 Disable using pre-allocated log files when a backup cursor is open -WT-2339 Fix a bug in rebalance that caused database verification failure -WT-2340 Add logging guarantee assertions -WT-2345 Avoid creating tiny pages on disk when evicting small pages from cache -WT-2346 Enhance checkpoint implementation so the schema lock is not held during I/O -WT-2347 Fix some schema format edge cases in Java API -WT-2352 Allow build and test without requiring lz4 -WT-2355 Fix minor scratch buffer usage in logging -WT-2356 log scan advances to next log file on partially written record -WT-2368 Fix a bug where row-store can pass invalid keys to collator functions -WT-2369 Use C compiler to detect headers instead of C++ compiler -WT-2371 Fix a bug where parent split cannot access the page after page-index swap -WT-2372 WiredTiger windows builder fails with C4005 against the "inline" macro -WT-2375 Add tests for custom collators -WT-2378 Fix a hang in LSM when doing forced drop with the no wait option -WT-2381 Fix the dump utility so it does not discard the table configuration -WT-2382 Fix a bug in join cursors with custom collator for 'u' format -WT-2384 Fix a bug in join cursors where lt, le conditions for ordering could be wrong -WT-2387 Fix cursor random unit test on Windows -WT-2390 Fix the OS X build -WT-2391 Enhance eviction so that it is less likely to evict pages from indexes -WT-2394 Fix a bug in compact that meant we didn't always reclaim available space -WT-2395 Fix a recovery failure with an LSM tree -WT-2396 Fix a deadlock between table drop and checkpoint -WT-2397 Fix a bug in cursor traversal where doing a reverse walk could skip records. -WT-2399 Add test case that verifies cursor traversal -WT-2409 Fix a minor performance regression in LSM -WT-2410 Stop casting function pointers to different types -WT-2411 Fix a hang in LSM related to dropping tables -WT-2414 Avoid extractor calls for ordering cursor in join cursor -WT-2417 Windows Jenkins task is failing -WT-2418 Fix a bug in WT_SESSION.rebalance where it could return EBUSY -WT-2420 Fix a bug in LSM where recovery from a backup could fail -WT-2423 Fix a bug in session reference counting on error handling -WT-2425 Fix a performance regression in wtperf evict-btree read workload -WT-2426 Fix a deadlock caused by recent changes to checkpoint handle locking -WT-2428 Make statistics logging compatible with MongoDB -WT-2429 Add a statistic that tracks aggressive mode in eviction -WT-2430 Add statistics for join cursor -WT-2432 Fix a performance regression on LSM and read only workloads -WT-2433 Allow read-only databases to log statistics -WT-2434 Fix a race between force-drop and sweep -WT-2436 Fix a bug in join cursors with lt, le conditions and "strategy=bloom" -WT-2438 Extend WiredTiger stat declarations to help external tools -WT-2440 Fix a bug in the PPC checksum implementation -WT-2443 Add statistics for all indexes used in join cursor -WT-2447 Enhance join cursor implementation to avoid reading main table where possible -WT-2448 Add no_scale flag to relevant statistics -WT-2449 Enhance configure to check for a 64-bit build -WT-2454 Fix checkpoint_sync=false behavior to prevent flushes/sync to disk -WT-2456 Fix PPC CRC32 Code -WT-2457 Fix a bug where dropping an LSM table can fail with EBUSY when no user ops are active -WT-2459 Allow Configure scripts to provide the --tag option for libtool when compiling on PPC -WT-2460 Fix a bug where checkpoint could fail with WT_ROLLBACK -WT-2471 Update WiredTiger printf formats to be platform aware -WT-2476 Fix a race where btree->evict_lock is being accessed after being destroyed -WT-2481 Fix a recently introduced performance regression in LSM -WT-2483 Make read only testing more robust -WT-2485 Fix a test/format failure with floating point exception -WT-2492 Fix a bug in Windows where we used the different memory allocators accidentally -WT-2495 Missing memory initialization leads to crash on Windows -WT-2496 Fix a bug revealed by test/format unable to read root page -WT-2497 Enhance test/format to save a copy of backup -WT-2498 Fix a bug in LSM tree drop where it could hang when a user cursor is open -WT-2499 Fix a bug in LSM shutdown where a race condition causes a segfault -WT-2501 Fix a bug where dropping a just opened LSM tree isn't thread safe -WT-2502 Fix a memory leak in locking handles for checkpoint +* WT-1517 Fix error handling around schema format edge cases +* WT-2060 Simplify aggregation of statistics +* WT-2073 Metadata cleanups +* WT-2099 Seeing memory underflow messages +* WT-2107 Add example code including an event handler +* WT-2113 Truncate test occasionally fails with unexpected EBUSY +* WT-2123 Don't clear allocated memory if not required +* WT-2173 Fix some cases where tiny caches could get stuck full +* WT-2177 Add an optional per-thread seed to random number generator +* WT-2198 Bulk load and column store appends +* WT-2215 WT_LSN needs to support atomic reads and updates +* WT-2216 Simplify row-store search loop slightly +* WT-2231 Pinned page cursor searches could check parent keys +* WT-2235 Add a unicode option to WiredTiger printlog utility +* WT-2242 WiredTiger treats dead trees the same as other trees in eviction +* WT-2246 Improve performance for column-store append searches +* WT-2247 Variable-length column-store in-memory page splits +* WT-2258 Stop WiredTiger pre-loading pages when direct-IO is configured +* WT-2259 Fix error handling when getting exclusive access to a btree +* WT-2262 Fix random cursor next so it is not skewed by tree shape +* WT-2265 WiredTiger related change in PPC specific code block in gcc.h +* WT-2272 Fix a bug in the sweep server that triggered an assertion +* WT-2276 Add a tool to decode checkpoint addr +* WT-2277 Remove WT check against big-endian systems +* WT-2279 Define WT_PAUSE(), WT_FULL_BARRIER(), etc when s390x is defined +* WT-2280 Add CRC32 Optimized code for PPC +* WT-2282 Error in wt_txn_update_oldest verbose message test +* WT-2283 Retry in txn_update_oldest results in a hang +* WT-2285 Enhance configure to set BUFFER_ALIGNMENT_DEFAULT to 4kb on Linux +* WT-2289 Fix a bug in btree search when doing a fast key check +* WT-2291 Random cursor walk inefficient in skip list only trees +* WT-2295 WT_SESSION.create does a full-scan of the main table +* WT-2296 Improve log algorithm for sync/flush settings +* WT-2297 Fix off-by-one error in Huffman config file parsing +* WT-2299 Clean up layering violation between btree and block manager code +* WT-2307 Fix a bug where internal page splits can corrupt cursor iteration +* WT-2308 Add support for custom extractor for ref_cursors in join cursor +* WT-2311 Add support for UltraSparc platform +* WT-2312 Fix a bug where re-creating a deleted column-store page can corrupt the in-memory tree +* WT-2313 Fix a bug in the sweep server +* WT-2314 Update page-swap error handling so that it is consistent +* WT-2316 Fix a bug in WT_CURSOR.prev where it could return keys out-of-order +* WT-2318 Enhance condition wait implementation to use less CPU on idle databases +* WT-2321 Fix a race between eviction and worker threads on the eviction queue +* WT-2322 Fix a bug in read-uncommitted join cursors where using Bloom filters is unsafe +* WT-2328 Update schema drop does to use the block manager interface for file removal +* WT-2331 Checking of search result for reference cursors before join +* WT-2332 Fix a bug in logging write-no-sync mode +* WT-2335 Fix a bug where parsing an invalid configuration string could segfault +* WT-2338 Disable using pre-allocated log files when a backup cursor is open +* WT-2339 Fix a bug in rebalance that caused database verification failure +* WT-2340 Add logging guarantee assertions +* WT-2345 Avoid creating tiny pages on disk when evicting small pages from cache +* WT-2346 Enhance checkpoint implementation so the schema lock is not held during I/O +* WT-2347 Fix some schema format edge cases in Java API +* WT-2352 Allow build and test without requiring lz4 +* WT-2355 Fix minor scratch buffer usage in logging +* WT-2356 log scan advances to next log file on partially written record +* WT-2368 Fix a bug where row-store can pass invalid keys to collator functions +* WT-2369 Use C compiler to detect headers instead of C++ compiler +* WT-2371 Fix a bug where parent split cannot access the page after page-index swap +* WT-2372 WiredTiger windows builder fails with C4005 against the "inline" macro +* WT-2375 Add tests for custom collators +* WT-2378 Fix a hang in LSM when doing forced drop with the no wait option +* WT-2381 Fix the dump utility so it does not discard the table configuration +* WT-2382 Fix a bug in join cursors with custom collator for 'u' format +* WT-2384 Fix a bug in join cursors where lt, le conditions for ordering could be wrong +* WT-2387 Fix cursor random unit test on Windows +* WT-2390 Fix the OS X build +* WT-2391 Enhance eviction so that it is less likely to evict pages from indexes +* WT-2394 Fix a bug in compact that meant we didn't always reclaim available space +* WT-2395 Fix a recovery failure with an LSM tree +* WT-2396 Fix a deadlock between table drop and checkpoint +* WT-2397 Fix a bug in cursor traversal where doing a reverse walk could skip records. +* WT-2399 Add test case that verifies cursor traversal +* WT-2409 Fix a minor performance regression in LSM +* WT-2410 Stop casting function pointers to different types +* WT-2411 Fix a hang in LSM related to dropping tables +* WT-2414 Avoid extractor calls for ordering cursor in join cursor +* WT-2417 Windows Jenkins task is failing +* WT-2418 Fix a bug in WT_SESSION.rebalance where it could return EBUSY +* WT-2420 Fix a bug in LSM where recovery from a backup could fail +* WT-2423 Fix a bug in session reference counting on error handling +* WT-2425 Fix a performance regression in wtperf evict-btree read workload +* WT-2426 Fix a deadlock caused by recent changes to checkpoint handle locking +* WT-2428 Make statistics logging compatible with MongoDB +* WT-2429 Add a statistic that tracks aggressive mode in eviction +* WT-2430 Add statistics for join cursor +* WT-2432 Fix a performance regression on LSM and read only workloads +* WT-2433 Allow read-only databases to log statistics +* WT-2434 Fix a race between force-drop and sweep +* WT-2436 Fix a bug in join cursors with lt, le conditions and "strategy=bloom" +* WT-2438 Extend WiredTiger stat declarations to help external tools +* WT-2440 Fix a bug in the PPC checksum implementation +* WT-2443 Add statistics for all indexes used in join cursor +* WT-2447 Enhance join cursor implementation to avoid reading main table where possible +* WT-2448 Add no_scale flag to relevant statistics +* WT-2449 Enhance configure to check for a 64-bit build +* WT-2454 Fix checkpoint_sync=false behavior to prevent flushes/sync to disk +* WT-2456 Fix PPC CRC32 Code +* WT-2457 Fix a bug where dropping an LSM table can fail with EBUSY when no user ops are active +* WT-2459 Allow Configure scripts to provide the --tag option for libtool when compiling on PPC +* WT-2460 Fix a bug where checkpoint could fail with WT_ROLLBACK +* WT-2471 Update WiredTiger printf formats to be platform aware +* WT-2476 Fix a race where btree->evict_lock is being accessed after being destroyed +* WT-2481 Fix a recently introduced performance regression in LSM +* WT-2483 Make read only testing more robust +* WT-2485 Fix a test/format failure with floating point exception +* WT-2492 Fix a bug in Windows where we used the different memory allocators accidentally +* WT-2495 Missing memory initialization leads to crash on Windows +* WT-2496 Fix a bug revealed by test/format unable to read root page +* WT-2497 Enhance test/format to save a copy of backup +* WT-2498 Fix a bug in LSM tree drop where it could hang when a user cursor is open +* WT-2499 Fix a bug in LSM shutdown where a race condition causes a segfault +* WT-2501 Fix a bug where dropping a just opened LSM tree isn't thread safe +* WT-2502 Fix a memory leak in locking handles for checkpoint WiredTiger release 2.7.0, 2015-12-08 ------------------------------------ @@ -162,221 +162,221 @@ fixes. New features and API changes; refer to the API documentation for full details: -WT-147 Create indexes on non-empty tables. -WT-1315 Add an implementation of cursor joins via a new WT_SESSION::join API. -WT-1350 Add a new configuration option to ::wiredtiger_open and - WT_CONNECTION::reconfigure called "eviction_dirty_trigger" that causes eviction to start - evicting dirty pages from cache once the given threshold has been reached. -WT-1728 Add a WT_SESSION::reset method to release resources held by a session. -WT-1930 Allow setting "file_manager=(close_idle_time=0)" to ::wiredtiger_open and - WT_CONNECTION::reconfigure to disable closing idle handles. -WT-1959 Change verify to distinguish between warnings and errors. Add a new strict mode - to verify that causes warnings to be reported as errors. Use strict mode to match earlier - behavior. See the upgrading documentation for more information. -WT-1980 Add a new "metadata:create" URI to WT_SESSION::open_cursor for metadata cursors - that return strings useful for passing to WT_SESSION::create. -WT-2065 Add a new configuration option to ::wiredtiger_open and - WT_CONNECTION::reconfigure called "shared_cache=(quota)" that limits the amount of shared - cache a participant can be assigned. -WT-2104 Add a method to flush log files via a new WT_SESSION::log_flush API. Made - WT_SESSION::commit_transaction configuration options match WT_SESSION::log_flush. Change - the default WT_SESSION::transaction_sync timeout to 20 minutes rather than infinity. -WT-2151 Enhance logging configuration to allow reconfiguration and add a new "log=(zero_fill)" - configuration option that causes WiredTiger to zero-fill log files on creation. -WT-2200 Add a new configuration option to ::wiredtiger_open called "write_through" that - causes WiredTiger to specify the FILE_FLAG_WRITE_THROUGH on Windows when writing files - (default false, including when "direct_io" is configured). -WT-2217 After a successful call to WT_CURSOR::insert, the key and value will be - cleared from the cursor. See the upgrading documentation for more information. -SERVER-17078 Add a "statistics=(size)" mode to statistics cursors, which allows for - retrieving file size only. -SERVER-18356 Changed the handling of the "config_base" option to ::wiredtiger_open. See - upgrading documentation for more information. +* WT-147 Create indexes on non-empty tables. +* WT-1315 Add an implementation of cursor joins via a new WT_SESSION::join API. +* WT-1350 Add a new configuration option to ::wiredtiger_open and + WT_CONNECTION::reconfigure called "eviction_dirty_trigger" that causes eviction to start + evicting dirty pages from cache once the given threshold has been reached. +* WT-1728 Add a WT_SESSION::reset method to release resources held by a session. +* WT-1930 Allow setting "file_manager=(close_idle_time=0)" to ::wiredtiger_open and + WT_CONNECTION::reconfigure to disable closing idle handles. +* WT-1959 Change verify to distinguish between warnings and errors. Add a new strict mode + to verify that causes warnings to be reported as errors. Use strict mode to match earlier + behavior. See the upgrading documentation for more information. +* WT-1980 Add a new "metadata:create" URI to WT_SESSION::open_cursor for metadata cursors + that return strings useful for passing to WT_SESSION::create. +* WT-2065 Add a new configuration option to ::wiredtiger_open and + WT_CONNECTION::reconfigure called "shared_cache=(quota)" that limits the amount of shared + cache a participant can be assigned. +* WT-2104 Add a method to flush log files via a new WT_SESSION::log_flush API. Made + WT_SESSION::commit_transaction configuration options match WT_SESSION::log_flush. Change + the default WT_SESSION::transaction_sync timeout to 20 minutes rather than infinity. +* WT-2151 Enhance logging configuration to allow reconfiguration and add a new "log=(zero_fill)" + configuration option that causes WiredTiger to zero-fill log files on creation. +* WT-2200 Add a new configuration option to ::wiredtiger_open called "write_through" that + causes WiredTiger to specify the FILE_FLAG_WRITE_THROUGH on Windows when writing files + (default false, including when "direct_io" is configured). +* WT-2217 After a successful call to WT_CURSOR::insert, the key and value will be + cleared from the cursor. See the upgrading documentation for more information. +* SERVER-17078 Add a "statistics=(size)" mode to statistics cursors, which allows for + retrieving file size only. +* SERVER-18356 Changed the handling of the "config_base" option to ::wiredtiger_open. See + upgrading documentation for more information. The following statistics were removed: -WT-1481 connection dhandles swept. -WT-1481 connection candidate referenced. -WT-1481 failed to find a slot large enough for record. -WT-1989 log buffer size increases. -WT-1989 slots selected for switching that were unavailable. -WT-2094 log records written directly. -WT-2094 record size exceeded maximum. -WT-2182 pages split during eviction. +* WT-1481 connection dhandles swept. +* WT-1481 connection candidate referenced. +* WT-1481 failed to find a slot large enough for record. +* WT-1989 log buffer size increases. +* WT-1989 slots selected for switching that were unavailable. +* WT-2094 log records written directly. +* WT-2094 record size exceeded maximum. +* WT-2182 pages split during eviction. Lookaside table: -WT-1967 Allow eviction of updates required by old readers. -WT-2074 Fix a race between lookaside table reconciliation and checkpoints. -WT-2149 Fix the order of creation of the lookaside table. -WT-2190 Fix transaction visibility test that is applied to the lookaside table. -SERVER-21585 Don't use the lookaside file until the cache is stuck full. +* WT-1967 Allow eviction of updates required by old readers. +* WT-2074 Fix a race between lookaside table reconciliation and checkpoints. +* WT-2149 Fix the order of creation of the lookaside table. +* WT-2190 Fix transaction visibility test that is applied to the lookaside table. +* SERVER-21585 Don't use the lookaside file until the cache is stuck full. Issues fixed in MongoDB: -SERVER-18829 Have pages start in the middle of the LRU queue for eviction. -SERVER-18838 During drops, don't remove files until the metadata is durable. -SERVER-18875 Clean up deleted pages. -SERVER-18899 Add unit test to simulate fsyncLock. -SERVER-19340 Avoid type aliasing in the random number generator. -SERVER-19445 Have the oldest transaction update the oldest tracked ID. -SERVER-19522 Try to evict internal pages with no useful child pages. -SERVER-19573 Change row-store inserts to avoid page locking. -SERVER-19751 Retry pthread_create on EAGAIN or EINTR. -SERVER-19954 Don't scan tracked handles during checkpoints. -SERVER-19989 Add a write barrier before data handles are added to shared lists. -SERVER-19990 Don't assert on eviction of live updates from dead trees. -SERVER-20008 Don't reset eviction walks when hitting a busy page. -SERVER-20159 Make all readers wait while the cache is full. -SERVER-20193 Fix obsolete transaction check. -SERVER-20303 Tune in-memory splits when inserting large objects. -SERVER-20385 Make WT_CURSOR::next(random) more random. -SERVER-21027 Reverse split if there are many deleted pages. -SERVER-21553 Enable fast-path truncate after splits. -SERVER-21619 Don't do internal page splits after a tree is marked DEAD. -SERVER-21691 Avoid insert stalls. +* SERVER-18829 Have pages start in the middle of the LRU queue for eviction. +* SERVER-18838 During drops, don't remove files until the metadata is durable. +* SERVER-18875 Clean up deleted pages. +* SERVER-18899 Add unit test to simulate fsyncLock. +* SERVER-19340 Avoid type aliasing in the random number generator. +* SERVER-19445 Have the oldest transaction update the oldest tracked ID. +* SERVER-19522 Try to evict internal pages with no useful child pages. +* SERVER-19573 Change row-store inserts to avoid page locking. +* SERVER-19751 Retry pthread_create on EAGAIN or EINTR. +* SERVER-19954 Don't scan tracked handles during checkpoints. +* SERVER-19989 Add a write barrier before data handles are added to shared lists. +* SERVER-19990 Don't assert on eviction of live updates from dead trees. +* SERVER-20008 Don't reset eviction walks when hitting a busy page. +* SERVER-20159 Make all readers wait while the cache is full. +* SERVER-20193 Fix obsolete transaction check. +* SERVER-20303 Tune in-memory splits when inserting large objects. +* SERVER-20385 Make WT_CURSOR::next(random) more random. +* SERVER-21027 Reverse split if there are many deleted pages. +* SERVER-21553 Enable fast-path truncate after splits. +* SERVER-21619 Don't do internal page splits after a tree is marked DEAD. +* SERVER-21691 Avoid insert stalls. Other note worthy changes since the previous release: -WT-1744 Throttle worker threads based on eviction targets. -WT-1845 Allow read only transactions to commit after failure. -WT-1869 Avoid doing in memory splits while checkpointing a tree. -WT-1942 Add atomic implementations for PPC64 architecture. -WT-1962 Make the hot_backup_lock a read/write lock. -WT-1963 Fix backup cursor Java API. -WT-1964 Fix a bug in the Java API when closing handles from a different thread. -WT-1966 Change how the shared cache assigns priority to participants. -WT-1975 Ensure previous log files are complete for forced sync. -WT-1977 Improve performance of getting snapshots with many sessions. -WT-1978 Better checking and tests for index cursor comparison. -WT-1981 Fix a signed 32-bit integer unpacking bug. -WT-1982 Fix a bug where cached overflow items were freed too early. -WT-1985 Integer packing and other fixes for Python and Java. -WT-1986 Fix a race renaming temporary log files. -WT-1989 Improve scalability of log writes. -WT-1996 Fix a bug where we would free the fist update during a page rewrite on error. -WT-1998 Fixes for indexes with some rarely used key/value formats. -WT-2002 Fix a bug in verify where it would panic when encountering a corrupted file. -WT-2007 Statically allocate log slot buffers to a maximum size. -WT-2008 Fix a bug in recovery where a file create went missing. -WT-2009 Apply tracked metadata operations post-commit. -WT-2012 Fix a bug updating the oldest ID. -WT-2013 Add gcc asm definitions for ARM64. -WT-2014 Fix a bug in checkpoints where files could be flushed in the wrong order. -WT-2015 Fix a bug in error handling during block open. -WT-2017 Once an eviction server thread is started keep it running. -WT-2019 Fix a logic bug tracking the maximum transaction ID in clean trees. -WT-2020 Clarify checksum error failure messages. -WT-2021 Fix a bug moving the oldest ID forward (introduced by WT-1967). -WT-2022 Fix a bug not releasing a handle when opening a non-existent index cursor. -WT-2023 Improve locking primitives: simplify read-write lock operations. -WT-2029 Improve scalability of statistics. -WT-2031 Log slot revamp. -WT-2032 Improve next_random cursors to work with small trees. -WT-2034 Improve shared cache balancing algorithm. -WT-2035 For index cursors, keep track of which column groups need to be positioned. -WT-2036 Make handle sweeps more robust. -WT-2037 Only write a checkpoint to the log on close if it wasn't. -WT-2038 Avoid long scans holding the handle list lock. -WT-2039 Add error check and unit test for log records over 4 GB. -WT-2042 Only try to evict tombstones that are visible to all readers. -WT-2045 Don't let the eviction server do slow reconciliation, it can stall eviction. -WT-2046 Add a statistic for search restarts. -WT-2047 Fix a bug in the random generator code to handle an uninitialized state. -WT-2050 Show size with memory allocation errors. -WT-2053 Fix a bug in disk verify messages. -WT-2056 Reorder btree cursor close so stats are maintained correctly. -WT-2057 Remove the verbose configuration when writing the base configuration file. -WT-2058 Fix an alignment bug in the mutex and log-slot code. -WT-2059 Include non-aggregated stats in cursor results. -WT-2062 Try harder to make progress on in-memory splits. -WT-2064 Don't spin indefinitely waiting for the handle list lock in eviction. -WT-2066 Update the oldest transaction ID from eviction. -WT-2068 Protect discarding handles with the handle list lock. -WT-2075 Fix a hang in logging with parallel workload. -WT-2078 Fix a bug in error handling with statistics cursors. -WT-2081 Make verify progress reporting less verbose. -WT-2085 Run some of the log_server threads operations more frequently. -WT-2086 Add a statistic to track when eviction finds a page that can be split. -WT-2089 Relax restrictions on multiblock eviction and in-memory splits. -WT-2090 Fix a bug in the Windows OS layer that swallowed error returns. -WT-2092 Free log condition variables after all threads are joined. -WT-2093 Use the C99 bool type to clarify when functions return true/false. -WT-2094 Eliminate direct write and record unbuffered log records. -WT-2097 Reintroduce immediate waits when forced eviction is necessary. -WT-2100 Rename evict to evict_queue so it's easier to search for. -WT-2101 Don't update the logging ckpt_lsn on clean shutdown. -WT-2102 Fix a hang in log slot join when forcing log writes. -WT-2105 Fix a bug where we could reference an invalid memory address if a file is corrupted on disk. -WT-2108 Rework in-memory page rewrite support (WT_PM_REC_REWRITE). -WT-2114 Make application eviction fairer. -WT-2115 Don't skip truncated pages that are part of a checkpoint. -WT-2116 Add diagnostic checks for stuck cache and dump the state. -WT-2119 Don't evict clean multiblock pages with overflow items during checkpoints. -WT-2126 Clean up if there is an error during splits. -WT-2127 Deepen the tree more regularly to avoid wide internal pages. -WT-2128 When decoding huffman encoding during salvage it's possible to have fewer bits than the - symbol length during decoding, if the value has been corrupted. -WT-2131 Switch to using a lock to control page splits to avoid starvation. -WT-2132 Make debug dump function more robust to errors. -WT-2134 Flush all buffered log records in log_flush. -WT-2135 Fix log_only setting for backup cursor. Fix initialization. -WT-2137 Check the sync_lsn is in the correct file before moving it forward. -WT-2139 Fix a transaction visibility bug in read-uncommitted transactions. -WT-2146 Improve performance when searching for short keys. -WT-2148 Fix a compiler warning in encoding functions. -WT-2153 Fix bug. Now we always need to start the log_server thread. -WT-2154 Make btree dump safer. -WT-2155 Remove last use of F_CAS_ATOMIC and the associated macro. -WT-2156 Allow eviction workers to restart. -WT-2157 Fix a bug where a failed page split could lead to incomplete checkpoints. -WT-2159 Don't check the config twice in one path. -WT-2162 Add null pointer check, needed after an index is dropped. -WT-2164 Prevent another LSM chunk checkpoint while the first is still in progress. -WT-2165 Stop using FALLOC_FL_KEEP_SIZE flag when pre-allocating files. -WT-2167 Switch recovery to using an internal session. -WT-2170 Protect the turtle file with a lock. -WT-2174 Avoid the table list lock when creating a size only statistics cursor. -WT-2178 In-memory storage engine support. -WT-2179 Added decorator to mark txn13 as part of the --long test suite. -WT-2180 Remove cursor.{search,search-near,remove} key size validation. -WT-2182 When internal pages grow large enough, split them into their parents. -WT-2184 Fix log scan bug when final record has many trailing zeros. -WT-2185 Don't do reverse splits when closing a file. -WT-2187 Add flag for flushing a slot. -WT-2189 Update flag set and clear macros to be less error prone. -WT-2191 In-memory disk image no longer the same as saved updates. -WT-2192 Fix the logic around checking whether internal page is evictable. -WT-2193 Handle read-committed metadata checkpoints during snapshot transactions. -WT-2194 Java close callbacks should handle cursors that Java code did not open. -WT-2195 Fix a hang after giving up on a reverse split. -WT-2196 Fix error handling in size only statistics. -WT-2199 Fix transaction sync inconsistency. -WT-2203 Release an allocated page on error. -WT-2204 Don't take a local copy of page->modify until we know the page is dirty. -WT-2206 Change cache operations from flags to an enumeration. -WT-2207 Track whenever a session has a handle exclusive. -WT-2210 Raw compression fails if row-store recovery precedes column-store recovery. -WT-2212 Add a "use_environment" config to ::wiredtiger_open. -WT-2218 Add truncate stats. -WT-2219 Enhancements to in-memory testing. -WT-2220 Update time comparison macros. -WT-2222 Add statistics for named snapshots. -WT-2224 Track which deleted refs are discarded by a split. -WT-2228 Avoid unnecessary raw-compression calls. -WT-2237 Have threads publish unique transaction IDs so that updates always become visible - immediately on commit. -WT-2241 Use a lock to protect transaction ID allocation. -WT-2243 Don't keep transaction IDs pinned for reading from checkpoints. -WT-2244 Trigger in-memory splits sooner. -WT-2248 WT_SESSION::close is updating WT_CONNECTION_IMPL.default_session. -WT-2249 Keep eviction stuck until cache usage is under 100%. -WT-2250 Minor fix. Use SET instead of increment for stat. -WT-2251 Free addresses when we discard deleted page references. -WT-2253 Evict pages left behind by in-memory splits. -WT-2257 Fixes when given multiple thread workload configurations. -WT-2260 Avoid adding internal pages to the eviction queue +* WT-1744 Throttle worker threads based on eviction targets. +* WT-1845 Allow read only transactions to commit after failure. +* WT-1869 Avoid doing in memory splits while checkpointing a tree. +* WT-1942 Add atomic implementations for PPC64 architecture. +* WT-1962 Make the hot_backup_lock a read/write lock. +* WT-1963 Fix backup cursor Java API. +* WT-1964 Fix a bug in the Java API when closing handles from a different thread. +* WT-1966 Change how the shared cache assigns priority to participants. +* WT-1975 Ensure previous log files are complete for forced sync. +* WT-1977 Improve performance of getting snapshots with many sessions. +* WT-1978 Better checking and tests for index cursor comparison. +* WT-1981 Fix a signed 32-bit integer unpacking bug. +* WT-1982 Fix a bug where cached overflow items were freed too early. +* WT-1985 Integer packing and other fixes for Python and Java. +* WT-1986 Fix a race renaming temporary log files. +* WT-1989 Improve scalability of log writes. +* WT-1996 Fix a bug where we would free the fist update during a page rewrite on error. +* WT-1998 Fixes for indexes with some rarely used key/value formats. +* WT-2002 Fix a bug in verify where it would panic when encountering a corrupted file. +* WT-2007 Statically allocate log slot buffers to a maximum size. +* WT-2008 Fix a bug in recovery where a file create went missing. +* WT-2009 Apply tracked metadata operations post-commit. +* WT-2012 Fix a bug updating the oldest ID. +* WT-2013 Add gcc asm definitions for ARM64. +* WT-2014 Fix a bug in checkpoints where files could be flushed in the wrong order. +* WT-2015 Fix a bug in error handling during block open. +* WT-2017 Once an eviction server thread is started keep it running. +* WT-2019 Fix a logic bug tracking the maximum transaction ID in clean trees. +* WT-2020 Clarify checksum error failure messages. +* WT-2021 Fix a bug moving the oldest ID forward (introduced by WT-1967). +* WT-2022 Fix a bug not releasing a handle when opening a non-existent index cursor. +* WT-2023 Improve locking primitives: simplify read-write lock operations. +* WT-2029 Improve scalability of statistics. +* WT-2031 Log slot revamp. +* WT-2032 Improve next_random cursors to work with small trees. +* WT-2034 Improve shared cache balancing algorithm. +* WT-2035 For index cursors, keep track of which column groups need to be positioned. +* WT-2036 Make handle sweeps more robust. +* WT-2037 Only write a checkpoint to the log on close if it wasn't. +* WT-2038 Avoid long scans holding the handle list lock. +* WT-2039 Add error check and unit test for log records over 4 GB. +* WT-2042 Only try to evict tombstones that are visible to all readers. +* WT-2045 Don't let the eviction server do slow reconciliation, it can stall eviction. +* WT-2046 Add a statistic for search restarts. +* WT-2047 Fix a bug in the random generator code to handle an uninitialized state. +* WT-2050 Show size with memory allocation errors. +* WT-2053 Fix a bug in disk verify messages. +* WT-2056 Reorder btree cursor close so stats are maintained correctly. +* WT-2057 Remove the verbose configuration when writing the base configuration file. +* WT-2058 Fix an alignment bug in the mutex and log-slot code. +* WT-2059 Include non-aggregated stats in cursor results. +* WT-2062 Try harder to make progress on in-memory splits. +* WT-2064 Don't spin indefinitely waiting for the handle list lock in eviction. +* WT-2066 Update the oldest transaction ID from eviction. +* WT-2068 Protect discarding handles with the handle list lock. +* WT-2075 Fix a hang in logging with parallel workload. +* WT-2078 Fix a bug in error handling with statistics cursors. +* WT-2081 Make verify progress reporting less verbose. +* WT-2085 Run some of the log_server threads operations more frequently. +* WT-2086 Add a statistic to track when eviction finds a page that can be split. +* WT-2089 Relax restrictions on multiblock eviction and in-memory splits. +* WT-2090 Fix a bug in the Windows OS layer that swallowed error returns. +* WT-2092 Free log condition variables after all threads are joined. +* WT-2093 Use the C99 bool type to clarify when functions return true/false. +* WT-2094 Eliminate direct write and record unbuffered log records. +* WT-2097 Reintroduce immediate waits when forced eviction is necessary. +* WT-2100 Rename evict to evict_queue so it's easier to search for. +* WT-2101 Don't update the logging ckpt_lsn on clean shutdown. +* WT-2102 Fix a hang in log slot join when forcing log writes. +* WT-2105 Fix a bug where we could reference an invalid memory address if a file is corrupted on disk. +* WT-2108 Rework in-memory page rewrite support (WT_PM_REC_REWRITE). +* WT-2114 Make application eviction fairer. +* WT-2115 Don't skip truncated pages that are part of a checkpoint. +* WT-2116 Add diagnostic checks for stuck cache and dump the state. +* WT-2119 Don't evict clean multiblock pages with overflow items during checkpoints. +* WT-2126 Clean up if there is an error during splits. +* WT-2127 Deepen the tree more regularly to avoid wide internal pages. +* WT-2128 When decoding huffman encoding during salvage it's possible to have fewer bits than the + symbol length during decoding, if the value has been corrupted. +* WT-2131 Switch to using a lock to control page splits to avoid starvation. +* WT-2132 Make debug dump function more robust to errors. +* WT-2134 Flush all buffered log records in log_flush. +* WT-2135 Fix log_only setting for backup cursor. Fix initialization. +* WT-2137 Check the sync_lsn is in the correct file before moving it forward. +* WT-2139 Fix a transaction visibility bug in read-uncommitted transactions. +* WT-2146 Improve performance when searching for short keys. +* WT-2148 Fix a compiler warning in encoding functions. +* WT-2153 Fix bug. Now we always need to start the log_server thread. +* WT-2154 Make btree dump safer. +* WT-2155 Remove last use of F_CAS_ATOMIC and the associated macro. +* WT-2156 Allow eviction workers to restart. +* WT-2157 Fix a bug where a failed page split could lead to incomplete checkpoints. +* WT-2159 Don't check the config twice in one path. +* WT-2162 Add null pointer check, needed after an index is dropped. +* WT-2164 Prevent another LSM chunk checkpoint while the first is still in progress. +* WT-2165 Stop using FALLOC_FL_KEEP_SIZE flag when pre-allocating files. +* WT-2167 Switch recovery to using an internal session. +* WT-2170 Protect the turtle file with a lock. +* WT-2174 Avoid the table list lock when creating a size only statistics cursor. +* WT-2178 In-memory storage engine support. +* WT-2179 Added decorator to mark txn13 as part of the --long test suite. +* WT-2180 Remove cursor.{search,search-near,remove} key size validation. +* WT-2182 When internal pages grow large enough, split them into their parents. +* WT-2184 Fix log scan bug when final record has many trailing zeros. +* WT-2185 Don't do reverse splits when closing a file. +* WT-2187 Add flag for flushing a slot. +* WT-2189 Update flag set and clear macros to be less error prone. +* WT-2191 In-memory disk image no longer the same as saved updates. +* WT-2192 Fix the logic around checking whether internal page is evictable. +* WT-2193 Handle read-committed metadata checkpoints during snapshot transactions. +* WT-2194 Java close callbacks should handle cursors that Java code did not open. +* WT-2195 Fix a hang after giving up on a reverse split. +* WT-2196 Fix error handling in size only statistics. +* WT-2199 Fix transaction sync inconsistency. +* WT-2203 Release an allocated page on error. +* WT-2204 Don't take a local copy of page->modify until we know the page is dirty. +* WT-2206 Change cache operations from flags to an enumeration. +* WT-2207 Track whenever a session has a handle exclusive. +* WT-2210 Raw compression fails if row-store recovery precedes column-store recovery. +* WT-2212 Add a "use_environment" config to ::wiredtiger_open. +* WT-2218 Add truncate stats. +* WT-2219 Enhancements to in-memory testing. +* WT-2220 Update time comparison macros. +* WT-2222 Add statistics for named snapshots. +* WT-2224 Track which deleted refs are discarded by a split. +* WT-2228 Avoid unnecessary raw-compression calls. +* WT-2237 Have threads publish unique transaction IDs so that updates always become visible + immediately on commit. +* WT-2241 Use a lock to protect transaction ID allocation. +* WT-2243 Don't keep transaction IDs pinned for reading from checkpoints. +* WT-2244 Trigger in-memory splits sooner. +* WT-2248 WT_SESSION::close is updating WT_CONNECTION_IMPL.default_session. +* WT-2249 Keep eviction stuck until cache usage is under 100%. +* WT-2250 Minor fix. Use SET instead of increment for stat. +* WT-2251 Free addresses when we discard deleted page references. +* WT-2253 Evict pages left behind by in-memory splits. +* WT-2257 Fixes when given multiple thread workload configurations. +* WT-2260 Avoid adding internal pages to the eviction queue WiredTiger release 2.6.1, 2015-05-13 ------------------------------------ @@ -392,7 +392,7 @@ New features: refs WT-1908 * Add the ability to flag a transaction to be flushed asynchronously on - commit via a new sync=[background] configuration option. Add a new + commit via a new sync=[background] configuration option. Add a new WT_SESSION::transaction_sync API to wait for asynchronous flushes to complete. refs WT-1908, #1943 @@ -1076,7 +1076,7 @@ New features and API changes: * Add new custom extractor functionality to WiredTiger indexes. Allowing an application to define mutated and/or multiple keys for indexes. [#1199] - + * Add a new WT_SESSION::transaction_pinned_range method that allows users to identify when a session is keeping a transaction ID pinned for a long time. [#1314] @@ -1573,7 +1573,7 @@ Significant changes include: [#756, #761] * WiredTiger statistics have been significantly improved: - + Statistics logging has been changed to aggregate information from all open handles. [#709, #717] @@ -1920,7 +1920,7 @@ below: * Make run-time statistics optional, defaulted to "off". * Change how we detect if shared cache is used. It used to rely on a name, - now it will be used if the shared_cache configuration option is included. + now it will be used if the shared_cache configuration option is included. * Add the ability to specify a per-connection reserved size for cache pools. Ensure cache pool reconfiguration is honoured quickly. @@ -2013,7 +2013,7 @@ changes are highlighted below: [392] Move examples/c/ex_test_perf.c to bench/wtperf. [322] Add support for statistics on schema-level objects i.e tables, - column groups, indices. + column groups, indices. * Enhance statistics, including changing the name of some statistics. @@ -2507,9 +2507,9 @@ upgrade. Here is the full list of changes: [#262] Disable dump on child cursors: only the top-level cursor is wrapped in a dump cursor. -[#266] Deal with new / dropped indices in __wt_schema_open_index. +[#266] Deal with new / dropped indices in __wt_schema_open_index. -[#269] Checkpoint handles must not be open when they are overwritten. +[#269] Checkpoint handles must not be open when they are overwritten. [#271] Add support for a reserved checkpoint name "WiredTigerCheckpoint" that opens the object's last checkpoint. @@ -2520,18 +2520,18 @@ upgrade. Here is the full list of changes: cursor equality result in a separate argument. [#275] If exclusive handle is required for an operation and it is not - available, fail immediately: don't block. + available, fail immediately: don't block. [#276] Fix methods that return integer parameters from Python. This - includes cursor.equals and cursor.search_near. + includes cursor.equals and cursor.search_near. [#277] Acquire the schema lock when creating the metadata file. We're single-threaded, so it isn't protecting against anything, but the - handle management code expects to have the schema lock. + handle management code expects to have the schema lock. [#279] Some optimizations for __wt_config_gets_defno. Specifically, if we're dealing with a simple stack of config strings, just parse the - application string rather than the full list of defaults. + application string rather than the full list of defaults. [#279] Split the description string into a set of structures, to reduce the number of string comparisons and manipulation that's required. @@ -2558,19 +2558,19 @@ upgrade. Here is the full list of changes: [#294] If txn_commit fails, document the transaction was rolled-back. [#295] Expand the documentation on using cursors without explicit - transactions. + transactions. [#300] Include all changes whenever closing a file, don't check for - visibility. If updates are skipped while evicting a page, give up. + visibility. If updates are skipped while evicting a page, give up. [#305] Have "wt dump" fail more gracefully if the object doesn't exist. [#310] When freeing a tracked address in reconciliation, clear it to avoid - freeing the same address again on error. + freeing the same address again on error. [#314] Replace cursor.equals with cursor.compare -[#319] Clear the bulk_load_ok flag when closing handles. +[#319] Clear the bulk_load_ok flag when closing handles. * Add an "ancient transaction" statistic so we can find out if they're @@ -2765,7 +2765,7 @@ Fix the "exclusive" config for WT_SESSION::create. [#181] Fix an eviction bug introduced into 1.1.2: when evicting a page with children, remove the children from the LRU eviction queue. Reduce the impact of clearing a page from the LRU queue by marking pages on the queue with a flag -(WT_PAGE_EVICT_LRU). +(WT_PAGE_EVICT_LRU). During an eviction walk, pin pages up to the root so there is no need to spin when attempting to lock a parent page. Use the EVICT_LRU page flag to avoid |