summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/txn.i
Commit message (Collapse)AuthorAgeFilesLines
* Import wiredtiger: 25c305c94d2ba492841a7c2a270d9a92ea1fb284 from branch ↵Luke Chen2020-05-211-6/+11
| | | | | | | | | | | | | mongodb-4.4 ref: 7bf362af19..25c305c94d for: 4.5.1 WT-6212 Dump failure message to Evergreen log for checkpoint-stress-test WT-6232 Fix the logic that incorrectly returns EINVAL for in_mem config with prepared transactions WT-6238 Fix salvage panic seeing prepared updates restored from disk WT-6248 Add HS records to page dumps WT-6285 Only retry reading if the prepared update is restored from the disk
* Import wiredtiger: 55d47c210ccb07a115c2e6f71ee90367c7c3ab77 from branch ↵Luke Chen2020-05-191-24/+78
| | | | | | | | | | | | | | | mongodb-4.4 ref: 32b5f903db..55d47c210c for: 4.5.1 WT-6170 Retrieve the original time window from the history store to replace an aborted prepared update WT-6225 Retry reading when the reader run concurrently with committing or rollbacking of prepared updates WT-6249 test_timestamp_abort should report all failing records before dying WT-6254 Statistics for force evicting history store pages while the session has history store cursor open WT-6255 Temporarily disable format-stress-sanitizer-lsm-test in Evergreen WT-6261 Turn off incremental backup rename testing WT-6265 Coverity: Integer overflow in test/format/ops.c
* Import wiredtiger: 32b5f903dbc021b570feea50eb48453c17cd0e89 from branch ↵Luke Chen2020-05-181-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 90a2282276..32b5f903db for: 4.5.1 WT-5679 Set the oldest history store checkpoint timestamp as oldest timestamp during restart WT-6083 Enable row-store tables in checkpoint-test WT-6148 Add new update to the history store with valid stop timestamp WT-6177 Fix direct I/O configurations failure combined with mmap configurations WT-6190 Review time window validation WT-6222 Never append prepared update in __rec_append_orig_value WT-6223 Insert a full value into history store if the newer update is a prepared update WT-6224 Adding a globally visible tombstone when an on disk prepared update is rolled back WT-6227 Fix testutil macro usage and add block backup to smoke.sh WT-6235 Change operation order of prepared commit and rollback WT-6242 Set flag on prepared updates when they're restored from disk WT-6245 Handle aborting prepared onpage tombstones WT-6246 Cleanup stop timestamp and pass the correct timestamp to the cell WT-6247 Fix modify visibility in history store WT-6252 Remove mutable read timestamp from transaction structure WT-6253 Fix time window validation for out of order timestamps
* Import wiredtiger: 90a2282276ccc25fcc662e6ebef6fbc91d0ff0af from branch ↵Luke Chen2020-05-151-6/+6
| | | | | | | | | | | | | | mongodb-4.4 ref: 4cf221a61f..90a2282276 for: 4.5.1 WT-6042 Changes to checkpoint04 to remove or debug failures on Windows WT-6165 Fix cursor operation hung on WT_PREPARE_CONFLICT WT-6173 Change __wt_time_window_ functions to macros WT-6174 Fix dhandle->session_inuse counter leak in __evict_walk WT-6195 Ensure that we don't perform rollback to stable without a history store WT-6214 format.sh must disassociate from the child process
* Import wiredtiger: 4cf221a61f19db1ed706f923d18d3d0b507101c9 from branch ↵Luke Chen2020-05-141-12/+49
| | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 63b37d1861..4cf221a61f for: 4.5.1 WT-5725 Remove the WT_CURSOR_BTREE.btree field WT-6082 Skip writing txn-id to data store when not needed WT-6088 Re-enable format-test WT-6151 Perform an empty check on time window before performing visibility check WT-6164 Reduce the number of page flags according to the flag variable size WT-6169 Use helper functions to check time window's visibility WT-6172 Fix silent failures of Evergreen test/format tasks WT-6186 Only delete timestamped history store entries when seeing a non-timestamped tombstone WT-6201 Release WT_CURSOR_BTREE buffers when caching a WT_CURSOR WT-6205 Coverity analysis defect 114159: Redundant test WT-6206 Coverity analysis defect 114158: Uninitialized pointer read WT-6207 Coverity analysis defect 114156: PW.SET_BUT_NOT_USED WT-6209 Coverity analysis defect 114135: Unintentional integer overflow WT-6210 Coverity analysis defect 114134: Explicit null dereferenced
* Import wiredtiger: bdff12c2331ab0478a22309a6d35519d2e2ca441 from branch ↵Luke Chen2020-05-121-8/+12
| | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 404b4a70af..bdff12c233 for: 4.5.1 WT-5864 Append globally visible tombstone with WT_TS_NONE to the update chain WT-6063 Re-enable checkpoint-filetypes-test in Evergreen WT-6065 Re-enable spinlock-gcc-test in Evergreen WT-6092 Use durable timestamp for global visibility check instead of commit timestamp WT-6111 Rework cell structures and unpacking WT-6157 Disable table logging in workgen stress test while running prepare transactions WT-6159 Tag verbose messages to make them easier to distinguish WT-6160 Fix format failure caused by stack overwrite WT-6161 Fix format hang when WiredTiger internal checkpoints are configured WT-6162 Fix incorrectly counts failures in format.sh WT-6166 KEY/VALUE short cells have to handle copy cells
* Import wiredtiger: 18dfb9e58e39927696affcd8e362364e23e1aa59 from branch ↵Luke Chen2020-05-061-82/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: a707df12a2..18dfb9e58e for: 4.5.1 WT-5242 Minimize checkpoints pinned during backup WT-5470 Reduce copies and allocations in read path WT-5673 Prepare support with durable history: modify verify and salvage as needed WT-5677 Prepare support with durable history: add test/format stress tests WT-5710 Review WT_PANIC usage WT-5716 Create the history store file at the same time as creating the metadata file in wiredtiger open WT-5839 Ignore non-globally visible tombstones for both data store and hs store in hs verification WT-5841 Return WT_TRY_SALVAGE when the history file is removed or truncated WT-5928 Cleanup stale FIXMEs from durable history WT-5977 WT_SESSION_NO_RECONCILE flag set by history cursor prevents eviction WT-5984 Allow prepared updates to be evicted in durable history WT-6009 Prepare support with durable history: add statistic for prepared updates evicted WT-6032 Turn on mongodb-4.4 branch upgrade/downgrade testing WT-6051 Fix reconstructing full value from modifies for string format WT-6068 Re-enable tests temporarily disabled during durable history development WT-6069 Remove WT_UPDATE_RESTORED_FROM_DISK flag WT-6070 Coverity : Copy paste error WT-6071 Coverity : Change format specifier WT-6086 Move time windows and aggregated time windows into structures WT-6087 Add a C2S(cursor) macro to simplify translation from a cursor to a session. WT-6095 Verify on-disk page only for row store as part of rollback to stable WT-6109 Cleanup usage of cursor->session WT-6110 Cleanup cast from cbt to cursor WT-6120 Remove use-after-free in __verify_history_store_id WT-6130 Disable test_random_abort
* Import wiredtiger: a707df12a2503ad39ccdd82a84062faa6a07e082 from branch ↵Luke Chen2020-04-301-12/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 7b994a862e..a707df12a2 for: 4.5.1 WT-3726 Add documentation specifying build pre-requisites WT-5260 Restore assert that trees being discarded are not marked dirty WT-5544 Fix cache stuck during salvage WT-5573 Re-enable unit test test_util01.test_dump_process_timestamp_old WT-5614 Coverity: Redundant NULL check WT-5623 Support reading modify type updates in the history store for non-timestamp tables WT-5661 Make WiredTiger utilities self documenting WT-5676 Prepare support with durable history: add workgen stress tests WT-5697 Dropping or renaming tables returns EBUSY in incremental backup test WT-5728 Coverity analysis defect 114081: PW.SET_BUT_NOT_USED WT-5749 Only pass a non-NULL WT_ITEM value when allocating a WT_UPDATE with associated data WT-5764 Fix and reenable test_compact02 WT-5790 Disable test_wt2246_col_append WT-5883 Add upgrade/downgrade testing to WiredTiger standalone tests WT-5911 History store verification re-architecture WT-5912 Change page deletion assert condition in __split_insert() WT-5954 Turn off column store test and lower isolation levels in test_random_abort WT-6010 Workgen changes - Add session config at Thread level WT-6031 Remove legacy WT_PAGE_MODIFY.last_stable_timestamp WT-6033 Clean up unused unittest imports WT-6044 Coverity: Variable set but never used WT-6045 Minor cleanup for test_random_abort WT-6047 Coverity: Redundant NULL check WT-6049 Fix eviction evicting uncommitted changes WT-6050 Close the metadata cursor after bulk loading WT-6053 fixed-width column-store macro can step past the end of allocated memory WT-6073 Don't append the tombstone to the update chain if it is already there WT-6078 Temporarily disable hs verify to unblock wiredtiger drop WT-6081 Switch wtperf defaults to mirror MongoDB defaults
* Import wiredtiger: 7b994a862e899a12eb7c3ac814c9fada7d8d1ab9 from branch ↵Luke Chen2020-04-221-52/+53
| | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 9bd1ece797..7b994a862e for: 4.5.1 WT-4701 Switch test/format to use WiredTiger locking primitives WT-5766 Separate out internal and shared transaction data WT-5791 Prepare checkpoint can finish in 0msec and reset prepare min stat WT-5794 Remove skew_newest option from reconciliation WT-5833 Fix caching issue for overflow key/value items WT-5919 Disallow logging archival testing with log-based incremental backup WT-5946 Eviction server handles can deadlock when opening HS cursors WT-5968 Make the WT_SESSION_IMPL.txn field an allocated structure WT-5986 Create script for emulating multiversion tests WT-6016 Fill source code comments where lines start with parentheticals WT-6020 __rec_append_orig_value() cleanup WT-6026 Fix s_all breakage on format.h
* Import wiredtiger: 9bd1ece7971714f947b47e589b0af5d7ee97a29d from branch ↵Luke Chen2020-04-161-8/+5
| | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: da6c25fee0..9bd1ece797 for: 4.5.1 WT-5671 Prepare support with durable history: implement changes to prepare and commit/abort WT-5675 Prepare support with durable history: workgen changes WT-5765 Add an error return macro that skips codes but doesn't clear them WT-5825 Reduce the number of runs for checkpoint-stress-test WT-5982 Remove redundant fields used earlier for HS inserts WT-5989 Support arguments in workgen WT-5997 Disable mongodb-4.4 branch for release compatibility testing WT-5999 Update format so it's possible for it to restart on an existing database WT-6003 Remove duplicate open_cursor call WT-6007 Fix an assert for fixed length column store WT-6008 Turn off format stress testing for column-store
* Import wiredtiger: da6c25fee0c5c9b0376df0dc19caa40a553cc5a2 from branch ↵Luke Chen2020-04-091-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 5b5d798856..da6c25fee0 for: 4.5.1 WT-5527 Free the onpage updates when restoring update chains WT-5675 Prepare support with durable history: workgen changes WT-5778 Simplify __rec_append_orig_value WT-5796 Speed up verification of file's associated history store information WT-5811 Mark ASAN tests as running on a slow machine WT-5909 Coverity unused value issue WT-5930 (4.4-only) Journaled data from 4.2 binaries not recovered at startup WT-5932 Rollback to stable aborting on-disk updates for in-memory database WT-5938 Fix a memory corruption in rollback to stable WT-5941 Document how eviction works in durable history WT-5943 Consider WT_TS_NONE timestamped update also a valid update for rollback to stable WT-5944 Relax test_wt2853_perf performance parameters temporarily WT-5948 Search shouldn't ignore globally visible tombstone of history store WT-5952 Fix freeing updates racing with application threads WT-5953 Fix format CONFIG file "mmap_all" syntax incompatibility WT-5961 Respect write generations when constructing the root addr WT-5965 Ignore leading whitespace in format CONFIG files WT-5967 Remove named snapshot support WT-5978 Unstable prepared updates causing the update chain to be unnecessarily restored WT-5979 Add Evergreen release compatibility test for forward compatibility WT-5983 Remove diagnostic tests left over from WT-5043 WT-5985 Turn off format testing for relaxed isolation levels WT-5987 Turn off history store verification in the WT_SESSION.verify method WT-5988 Do not write log records as part recovery rollback to stable operation WT-5993 Restore disk page header version WT-5994 Turn off format testing for relaxed isolation levels (part 2)
* Import wiredtiger: 5b5d7988560a20dbe827a1fa16c0481e6c0e2821 from branch ↵Luke Chen2020-04-021-101/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 660f3363bd..5b5d798856 for: 4.5.1 WT-3821 Python test case fails due to pinned timestamp warning WT-4230 Remove named snapshot support WT-4458 Only sweep btree handles that have been evicted from cache WT-4523 Fix type incompatibilities during alloc and free of memory for async ops WT-4671 Remove Limbo pages WT-4674 Instantiate birthmark records using in-memory metadata WT-4676 Search LAS for the history and compare to in-memory update WT-4677 Re-initialize prepared updates WT-4678 Write the test workload for relevant history in cache WT-4681 Check if expired content is being swept from lookaside WT-4683 Reverse the modifies when writing to LAS WT-4685 Add new statistics for relevant history in cache WT-4868 Aggregate btree write gen from leaf pages in salvage WT-4954 Document duplicate backup cursors WT-5001 Migrate Jenkins “wiredtiger-test-format-stress-sanitizer-ppc” job to Evergreen WT-5045 Add more statistics tracking where checkpoint spends time WT-5052 Enhance lookaside search functionality to handle WT_MODIFY records WT-5058 Stop initializing a page with updates from lookaside WT-5066 Extend test_las06 to support column store. WT-5072 Modify __wt_rec_upd_select() to pull an update from lookaside WT-5073 Review update chain traversals WT-5089 test_las02.py fails: Unable to locate the correct record WT-5092 Modify lookaside schema to add timestamp and transaction id to the key WT-5098 Modify __wt_update_alloc() to accept NULL WT_ITEM values WT-5141 Handle multiple modifies for the same key on lookaside eviction WT-5146 Returning wrong record value for variable length columnar table WT-5158 Remove assertion in __wt_find_lookaside_upd for cursor comparison WT-5167 Fixing the missing pieces of page instantiation from las WT-5170 Convert the os_posix layer to use mmap for I/O instead of system calls WT-5186 Handle reading of LAS modifies on top of a birthmark record WT-5191 Avoid LAS sweep server remove records that don't have disk image with proper version WT-5203 lookaside history should no longer be preferentially evicted WT-5212 Backup data validation tests WT-5214 Verify potential incremental failures WT-5215 Stress testing of incremental backup WT-5222 Make checkpoint always choose skew newest WT-5225 Create persistent file for History store WT-5227 Enable python test cursor04 on relevant history feature branch WT-5228 Several tests fail with incorrect or missing record after reconciliation changes WT-5233 Prepared update not visible in las06 WT-5236 Enhance workgen to support draft lookaside stress workload WT-5240 Update test/format to perform incremental backups WT-5246 Update WiredTiger backup documentation WT-5253 Add History store file to checkpoint target list. WT-5254 Add aggregate timestamp info to the WT_REF. WT-5256 Fix relevant history build after develop merged brought LIMBO reference WT-5259 Write wiki documentation on how to generate and use XRay traces WT-5264 Add a delete record for every insert record into the WT history store to represent stop time pair WT-5267 Enable storing start/stop time pair for each record in the history store WT-5271 Remove WT_PAGE_LOOKASIDE structure. WT-5279 Disable failing tests in the preferred way WT-5280 Write all other versions to history store during checkpoint. WT-5281 Assert that we're no longer writing tombstones to the history store WT-5283 Eviction to create disk image with newest committed version. WT-5284 Test to check eviction is writing the newest version to data store WT-5286 Enable the data format to store time pair WT-5289 Remove the code that does garbage collection from sweep server WT-5290 Add new verbose flag and verbose logs for checkpoint garbage collection WT-5291 Additional statistics for checkpoint garbage collection WT-5292 Test the garbage collection by checkpoint WT-5295 Disable remaining failing tests in durable history branch WT-5298 Add a condition to verify the timestamp of a page during checkpoint of history store WT-5300 Traverse the history store internal page for obsolete child pages by checkpoint WT-5302 Begin writing validity window for new data format WT-5303 Update checkpoint statistics for the new history store file. WT-5308 Remove WT --enable-page-version-ts build configuration option WT-5317 Eviction writes uncommitted metadata changes to disk WT-5320 Save update restore to reuse lookaside eviction. WT-5321 Update the stats and counters that represent lookaside inserts according to durable history WT-5328 Evict obsolete history store page WT-5333 Fix search not found issue due to skipped birthmark and rework txn_read WT-5335 Read the start and stop time pairs back from cell when we reconstruct it on update chain WT-5341 Clang sanitiser was triggered by checkpoint writing to the history store change WT-5343 Show history store in the wt list WT-5345 Show aggregated timestamp information for internal pages and leaf pages WT-5347 Add ability for wt util to print historical versions of a key WT-5353 Verify data continuity between history and data store WT-5354 Verify history store key is not missing from the data store WT-5355 Add the ability to dump a given btree as of a timestamp WT-5361 Fix selecting aborted txn to write to disk WT-5369 Don't use transaction ids from a page with a previous startup generation WT-5385 Use WT_UPDATE_HISTORY_STORE to avoid repeatedly inserting updates to lookaside WT-5386 Re-enable test_inmem01 WT-5388 Fix write squash statistic caused by change in reverse delta WT-5392 Fall out of in-memory obsolete history page eviction WT-5414 Change the usage from durable timestamp to commit timestamp during eviction. WT-5416 Make sure that rollback to stable works on all objects in WT WT-5417 Skip the clean pages of each tree with aggregated stop timestamp is less than stable timestamp WT-5419 Create a TOMBSTONE update to represent the on-disk value state WT-5420 Reconcile should consider TOMBSTONE update to replace or remove the on-disk value WT-5421 Search the history store to find the value that can be replaced the on-disk value WT-5422 Remove the history updates for reconciled data pages WT-5423 Convert a history store modified value into a full update WT-5424 Add statistics for rollback to stable operations WT-5425 Add a new verbose flag to print the rollback to stable operation WT-5426 Ensure rollback to stable is executed from recovery WT-5427 Implement tests for rollback to stable WT-5431 Merge develop branch to durable history branch WT-5434 Update compatibility_test_for_mongodb_releases.sh for durable history WT-5439 Free updates inserted into history store after hs transaction commit in eviction WT-5441 Fix known visibility issues WT-5446 Fix not writing to lookaside WT-5448 Reconciliation wrongly overwrites the cell with default time pairs WT-5451 Update reverse modify logic to always insert a modify into the history store WT-5453 Fix cell packing for globally visible values. WT-5454 Rename cache_overflow configuration option. WT-5455 Fix test_hs03.py WT-5457 single block reconciliation with saved updates can leak blocks WT-5461 Search should not return onpage value if nothing is found by transaction read WT-5462 Rebalance the Evergreen Python test buckets WT-5464 Open reading history cursors on the user session WT-5467 Make history store cursor part of each session, get rid of the cursor pool WT-5469 Support mixing timestamped and non-timestamped updates WT-5476 Continue writing tombstones when the tombstone is globally visable. WT-5478 Insert records directly into history store without a txn WT-5482 Increment cache usage when appending on-disk value to update list WT-5484 Check visibility before saving updates for in memory reconciliation WT-5489 page-read can race with threads locking in-memory page structures WT-5491 Add an option to wt verify to confirm that no data exists after the stable timestamp WT-5493 Re-enabling test_bug008 WT-5495 WT-5495 For column store, check the on-page value and history store even if the key is in the insert list WT-5496 upd should be reset to NULL if all upd on the chain are not visible in txn read WT-5500 Implement new history store format WT-5501 Do not use default session to create a history store cursor when configuring WT-5502 Re-add changes reverted by merge commit WT-5503 We can only free updates inserted into history store after a full update. WT-5508 Some of the txnids not cleared after restart WT-5509 Infinite loop when reading from history store at early specific timestamp in test_util01 WT-5510 Fix test_hs01.py, test_hs06.py (test_hs_prepare_reads) WT-5513 Don't consider TOMBSTONE/Stop time pair for history store reads WT-5515 Enable test_hs06 WT-5516 Backup starts with base_write_gen 1 WT-5518 Split-parent code can race with other threads when checking the WT_REF.state WT-5519 Apply version from datastore after finding a modify when possible. WT-5522 Remove update free logic in hs_insert_updates. WT-5523 Inserting history store needs to handle modify based on a tombstone WT-5525 Free up 3B in the WT_REF structure WT-5529 Improve usage of upd in txn.i WT-5540 Call cursor disable bulk insert on first insert to history store. WT-5541 Use snapshot isolation whenever we use history store cursors in verification WT-5542 History store not using the on disk value as the base value for modify when key boundary crossed WT-5547 Disable all the skipped rollback to stable tests for column store types WT-5549 Fix the recovery rollback to stable and enable the passing tests for both row and variable columnar types WT-5551 Fix the history store insert statistics WT-5552 Checkpoint reconciliation and page splits free the WT_REF.addr field without locking WT-5555 Update base write gen to the maximum write gen we have seen in recover WT-5556 Verify of a file should verify its history store content too WT-5558 Use durable timestamp from the update instead of start WT-5563 Transactions ID are getting wiped which causes errors in WT Verify WT-5565 Update fast truncate code to consider aggregated timestamps WT-5566 Update rollback to stable tests to use new statistics WT-5567 Fix an assert in txn_read always be true WT-5569 Update WiredTiger source code to include 2020 copyright notices for durable history WT-5570 Refactor the __upd_alloc_tombstone() according to the new use in durable history WT-5574 Rolling back a prepared transaction with `cursor_copy` results in a use-after-free WT-5575 Fix the test_durable_ts01 test to expect older data after recovery WT-5576 Temporarily add lookaside score stat and cache_overflow config option WT-5579 Fix Evergreen memory sanitizer test failure WT-5581 Address sanitizer test failure running bloom filter testing WT-5582 Long unit testing sweeping cursors failing WT-5583 Applying operations in recovery encounters unexpected operation type WT-5587 Limit how many checkpoints are dropped by a subsequent checkpoint WT-5588 Only release cursor memory allocated by the API for cursor copy debug mode WT-5589 force_stop on duplicate cursor open not returning error WT-5590 Fix spellings so s_string passes WT-5593 test/format assertion failure addr->size != 0 WT-5595 test/format data mismatch errors WT-5596 Increase format stress testing scope. WT-5597 Fix the history store file access during recovery WT-5598 __verify_timestamp_to_pretty_string uses local buffer which is freed before access WT-5602 Rollback transaction core dumped with upd->start_ts >= unpack->stop_ts WT-5603 test/format assertion failure while discarding in-memory page WT-5605 Update test checkpoint to no longer use checkpoint cursors WT-5607 Successful 'verify -h' calls are returning not found WT-5610 Fix assertion for reconciling fixed length column store WT-5611 Don't write updates with different commit and durable timestamps to data store WT-5612 Remove history store values for non-timestamp tables WT-5613 Remove birthmark update type WT-5615 Coverity: Read of uninitialised value WT-5616 Coverity: Memory leak WT-5617 Coverity: Memory leak WT-5618 Skip timestamp range overlap check if start timestamp is zero WT-5620 Skip the history store TOMBSTONE only for rollback to stable operation WT-5624 Incremental unit test should use offset/length ranges WT-5625 corruption detected during validation - root page's aggregated timestamp incorrect WT-5626 Remove assert which checks for newer updates in the history store WT-5628 rollback_to_stable failed with no such file WT-5630 Adding stage to turtle init to prevent startup on a too-low version WT-5631 Recovery rollback to stable for timestamped logged tables WT-5632 Don't write stop_ts of 1 for non-timestamped delete WT-5633 Fix another assertion for reconciling fixed length column store WT-5636 prefix compression is slow in the history-store access pattern WT-5638 Ignore checking visibility of history store updates as they are implicitly committed WT-5641 Clear history store content when deleting a key due to a globally visible tombstone WT-5644 Appending onpage value to an aborted update triggers an assert WT-5647 replace the WT_REF structure's WT_REF_READING state with a flag WT-5648 Add a leaf or internal page type flag to the WT_REF structure WT-5649 Refactor WT_REF locking, review all WT_REF.addr reads for locking issues WT-5650 Fix a race condition between reading the WT_PAGE.modify field and the page being dirtied. WT-5651 Fix the RTS assert to consider error scenarios of search WT-5654 Add version information to the history store key format WT-5658 Fix heap-use-after-free in parent split code WT-5665 Data mismatch bug when running new version of test_checkpoint with timestamps WT-5666 Deleting a chunk of the namespace changes the WT_REF type WT-5667 Remove usage of checkpoint cursor in test/format WT-5668 Prepare support with durable history: implement data format changes WT-5669 Prepare support with durable history: backport data format changes to 4.2 WT-5672 Prepare support with durable history: implement rollback_to_stable WT-5674 Prepare support with durable history: add/debug functional tests WT-5678 Fix infinite looping behaviour in history store cursor positioning WT-5680 segfault when dereferencing NULL addr while reconciling WT-5682 Ensure that we can't apply modifies on top of tombstones WT-5684 overflow values must be discarded when there is no update for a key WT-5685 Evergreen does not match libraries in artifacts or spawns WT-5688 Memory leak detected during page overflow read WT-5689 reduce work required for the cursor-pinned test. WT-5690 Rollback to stable assertion failure regarding update visibility WT-5692 Revert a test change to fix a Python hang WT-5695 Fixed incremental backup example to use O_CREAT in the backup range case WT-5696 test_timestamp_abort fails with data mismatch WT-5698 Disabling bulk cursor changes broke a Jenkins compile WT-5699 Refactor incremental backup RANGE code WT-5700 Add smoke test script for incremental backup stress test WT-5701 If an out-of-order update masks an on-disk value, don't append it WT-5704 Incremental backup smoke test core dumped WT-5706 Fix csuite-incr-backup-test calculation of value sizes WT-5707 Reduce the test load for checkpoint stress test WT-5712 Ensure WT command line utility treats history store consistently WT-5713 Fix failures so test_durable_rollback_stable.py can be enabled WT-5719 Incremental backup metadata should quote the ID string WT-5721 Remove LAS file when upgrading to 4.4 WT-5722 Incremental backup should do a name check on identifiers WT-5729 Coverity analysis defect 114078: Unchecked return value from library WT-5730 Coverity analysis defect 114077: Unchecked return value WT-5733 Coverity analysis defect 114074: Logically dead code WT-5734 Coverity analysis defect 114073: PW.MIXED_ENUM_TYPE WT-5735 Coverity analysis defect 114070: Explicit null dereferenced WT-5745 Don't copy a value into tombstones WT-5747 Cope with updates out of timestamp order WT-5753 Fix divide by zero error in test/csuite/test_incr_backup WT-5754 Ensure the value is globally visible before encode it into WT_ROW WT-5756 heap-use-after-free in __wt_row_modify WT-5762 Make test_hs10 more robust WT-5767 Fix search_near invocations for history store WT-5771 make-check-msan-test failed with use-of-uninitialized-value error on RHEL 8.0 WT-5774 Move stress test tasks into a separate build variant WT-5775 Fix leak of updates from history store WT-5777 Add statistic for tracking history store deletions due to key removal WT-5780 Fix timestamp_index_build.js in noPassthrough suite. WT-5781 Fix basic.js in parallel suite WT-5785 Fix potential deadlocks in eviction and verify code paths WT-5786 Detect if a file is too small to read a descriptor block WT-5789 million-collection-test throughput degradation after loading ~30K collections WT-5792 Dump and verify can't see the history store WT-5795 Disable assertion that inserts to the history store are unique WT-5799 Dont assume we have ordered timestamps when doing rec append original value WT-5800 Temporarily disable history store verify WT-5806 Perform rollback to stable on a clean shutdown WT-5809 Invariant failure: stable timestamp does not equal appliedThrough timestamp WT-5813 Fix heap-use-after-free in __split_parent WT-5820 Change format.sh to forcibly quit if a test runs out of disk space. WT-5822 Don't evict metadata updates from a running checkpoint WT-5825 Timeout failure in checkpoint-stress-test WT-5826 Fix a leak when a page splits and some updates aren't restored WT-5827 Enable test_schema_abort WT-5828 Reconciliation discards salvaged overflow blocks with stop time pairs WT-5830 Enable two c tests in evergreen WT-5831 Fix the case of history store corruption WT-5834 Incremental backup returning too large offset WT-5843 Mark page dirty when reconciled page updates are aborted WT-5844 Adjust error codes for when we detect files that are too small to contain a descriptor block WT-5855 Clean up operation tracking documentation WT-5857 Prepend homedir for system call pathnames in format backup test WT-5858 Fix incremental backups both log/block based for first time WT-5859 Fix a seg fault in verification WT-5862 Add conditional around macro definition WT-5868 Fix test_txn19 because of changing of error message WT-5872 test/format not writing out isolation level WT-5874 Disable test_wt2323_join_visiblity WT-5879 Fix a bug reconciling metadata WT-5880 test/format backup missing expected log file WT-5885 Improve WT rollback to stable verbose output for better debugging WT-5887 Turn off verbose output when test/format output is redirected to a file WT-5890 Bump log/WT version to facilitate upgrade/downgrade floor for MongoDB WT-5891 Disable testing of checkpoint cursors in wt4333_handle_locks WT-5894 Don't persist durable timestamp if it is same as commit timestamp WT-5896 Recovery sometimes attempts rollback to stable with an absent history store file WT-5898 Fix memory leak in verifying history store WT-5899 Restore WT_PAGE_LAS_UPDATE on-disk page flag value to avoid break backward compatibility WT-5900 Display failed version numbers in error message for version mismatch failures WT-5901 Fix branch checkout issue in release compatibility tests WT-5902 Fix history store using incorrect key for lookups WT-5910 Fix start_durable_ts when handling out-of-order updates WT-5914 Only configure log-incremental backup if archiving is off in test/format WT-5921 Fix wtperf_xray to detect builds that haven't been instrumented with XRay WT-5922 Separate out XRay and xray_to_optrack build instructions WT-5923 Avoid performing history store cleanup for modified trees WT-5925 Rework format CONFIG file syntax for clarity WT-5931 Recovery rollback to stable is leading to remove a record that is not expected
* Import wiredtiger: d74cb1a91399e1197a95667502002ffed2b7b82b from branch ↵Luke Chen2020-02-121-1/+1
| | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 94c6c16014..d74cb1a913 for: 4.3.4 WT-5372 Skip known errors for long-running format stress sanitizer tasks WT-5383 Update WiredTiger source code to include 2020 copyright notices WT-5398 Adding more correctness tasks into rhel80 Evergreen build variant WT-5526 Remove visibility check in __wt_value_return_upd WT-5536 Add zstd as a builtin compressor for WiredTiger Python package WT-5538 Change format to ignore Evergreen timestamps in configuration files WT-5553 Return error if primary cursor is not an incremental source WT-5554 Account for logpath when retrieving file size in incremental backup WT-5557 Fix the wrong page type returned when checking on-page cell WT-5564 Buffer not extended properly when incremental bitstring grows
* Import wiredtiger: 168c7f1b3859516115721868f312544abb0caf5b from branch ↵Luke Chen2020-01-311-16/+36
| | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: d790f9057c..168c7f1b38 for: 4.3.4 WT-5159 Make wiredtiger work with SWIG 4.0.0 beyond WT-5219 Btree walk code read the lock WT_REF.addr field without locking WT-5376 WT_UPDATE.type field can race with visibility checks when returning key/value pairs WT-5387 Prepared transaction resolution can stall eviction on active pages WT-5393 Prepared transaction rollback and API error handling fixes WT-5405 Make format LSM test a separate Evergreen task WT-5437 Salvage's excessive consumption of cache memory causing eviction to stall WT-5444 Re-enable PPC format tests in Evergreen WT-5449 Increase contention in history store stress workload WT-5458 Fix Evergreen timeout failures in linux-directio test WT-5460 Buffer alignment failure captured by linux-directio test WT-5468 Improve documentation for "wt load" WT-5480 Don't take threads resolving prepared transactions to assist with eviction WT-5481 DIAGNOSTIC split code assert can race with WT_REF locking WT-5488 Dump the failing CONFIG for Evergreen test/format tasks
* Import wiredtiger: 61bf0547c6edfc6cd7c633c80f1c76f3e33e5aec from branch ↵Luke Chen2019-12-311-0/+44
| | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 77f9aebf23..61bf0547c6 for: 4.3.3 WT-4919 Add debug mode which allocates exact amount of memory in __wt_realloc_def WT-4921 Add debug mode option that slows checkpoint creation WT-4997 Migrate Jenkins “wiredtiger-test-format-stress” job to Evergreen WT-4998 Migrate Jenkins “wiredtiger-test-format-stress-ppc” job to Evergreen WT-5000 Migrate Jenkins “wiredtiger-test-format-stress-sanitizer” job to Evergreen WT-5004 Migrate Jenkins “wiredtiger-test-checkpoint-stress” job to Evergreen WT-5005 Migrate Jenkins “wiredtiger-test-recovery-stress” job to Evergreen WT-5090 Log a message when rolling a thread back because it holds the oldest timestamp WT-5112 Handling goto labels with multiple words in s_goto.py WT-5312 Add thread doing random cursor operations to format's cache size calculation WT-5324 WiredTiger API error handling fixes WT-5327 Backup cursor API can fail to restore WT_SESSION name information WT-5330 Read-only transactions are being rolled back in MongoDB WT-5360 Add a template for building a glossary in developer docs WT-5365 Remove format's long-running transaction support
* Import wiredtiger: d44b1af8a84ef93d9857432c9af5ef3b3adc8bdd from branch ↵Luke Chen2019-11-181-102/+0
| | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 3a42ced495..d44b1af8a8 for: 4.3.2 WT-4983 Migrate Jenkins “wiredtiger” job to Evergreen WT-4988 Migrate Jenkins “wiredtiger-test-unit” job to Evergreen WT-4989 Migrate Jenkins “wiredtiger-test-unit-long” job to Evergreen WT-4990 Migrate Jenkins “wiredtiger-test-unit-ppc” job to Evergreen WT-4991 Migrate Jenkins “wiredtiger-test-unit-zseries” job to Evergreen WT-5025 Migrate Jenkins “wiredtiger-test-coverage” job to Evergreen WT-5042 Reduce configuration parsing overhead from checkpoints WT-5125 Adding new stats for eviction target strategy WT-5126 Fix incorrect assertion regarding prepared update resolution WT-5136 Fix reading freed memory due to birthmark after uncommitted updates freed WT-5142 Don't create huge root pages when rebalancing or bulk-loading objects with overflow keys WT-5174 Truncation rollback locking is insufficient WT-5181 Preload eatmydata before running evergreen pull request test WT-5193 Revert LAS dropped table change from WT-5150 WT-5196 Data mismatch failures with test/checkpoint after enabling LAS sweep WT-5220 Re-enable LAS dropped table change from WT-5150 WT-5239 Fix syscall failure about metadata file open
* Import wiredtiger: fb527a54117f3865aae8a25557849f1228d48205 from branch ↵Luke Chen2019-10-211-8/+13
| | | | | | | | | | | | | | | | | | mongodb-4.4 ref: af2cb8f052..fb527a5411 for: 4.3.1 WT-4486 Number of syncs did not increase in dirty max test WT-4977 Migrate Jenkins “wiredtiger-pull-request-clang-analyzer” job to Evergreen WT-4980 Migrate Jenkins “wiredtiger-pull-request-python” job to Evergreen WT-4982 Migrate Jenkins “wiredtiger-pull-request-windows” job to Evergreen WT-5145 Fix the race condition in accessing pinned_timestamp and connection state WT-5176 Group pull request tasks using Evergreen task tags WT-5182 Add s_all test into Evergreen ubuntu1804 build variant WT-5184 Add CFLAGS="-ggdb" and --enable-slient-rules to the evergreen pull request builds' configurations WT-5187 Checkpoint error path can attempt to release a hazard pointer that isn't held WT-5193 Revert LAS dropped table change from WT-5150
* Import wiredtiger: af2cb8f052184a94635c3bfc358620dd36df5828 from branch ↵Luke Chen2019-10-151-45/+32
| | | | | | | | | | | | | | | | mongodb-4.4 ref: 3818fb14bd..af2cb8f052 for: 4.3.1 WT-4972 Add new RHEL Evergreen build variant WT-4975 Migrate Jenkins “wiredtiger-pull-request-asan” job to Evergreen WT-5123 Fill multi-paragraph comments WT-5150 LAS sweep is not removing the entries that are no longer required WT-5161 Remove deprecated git.apply_patch WT-5163 Fix ignored failure return in WT_CURSOR.next when random retrieval configured WT-5164 Fix inconsistent underscore/dash output WT-5166 Allow configuring configure flags in evergreen builds
* Import wiredtiger: e0041ca53c1c1a4a23cc7aaa7ef8137dc1c61117 from branch ↵Luke Chen2019-10-031-49/+6
| | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 0cd668bf3a..e0041ca53c for: 4.3.1 WT-4702 Switch to ubuntu1804-test Evergreen distro WT-4715 Workloads will stall if old transaction or timestamp pinned by thread co-opted for eviction WT-4961 Checkpoints with cache overflow must keep history for reads WT-5093 Enable million-collection-test working with Evergreen distro rhel80-build WT-5094 Enable Windows compile task working with Evergreen distro windows-64-vs2017-test WT-5122 Shut down the sweep server before doing the final checkpoint WT-5128 Add script to run wtperf with XRay profiling WT-5130 Enable Big-endian (s390x/zSeries) working with Evergreen distro ubuntu1804-zseries-build WT-5135 Change lookaside file inserts to use cursor.insert WT-5140 Fix where a cursor returning random items can use an uninitialized buffer WT-5143 Fix typo in error message
* Import wiredtiger: 359fb2736fc3cfbdedb9352fa295648bb0891b45 from branch ↵Luke Chen2019-09-041-2/+1
| | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 956384325e..359fb2736f for: 4.3.1 WT-4535 Enhance wt command line utility to use read-only mode WT-4884 Test for recovery correctness with modify operations WT-4966 Fix valgrind detected memory leak from test/csuite/import/smoke.sh WT-5043 Add debugging to aid in test/format hang WT-5074 Fix "make check" on exotic architectures WT-5076 Cut WiredTiger 3.2.1 release WT-5080 New wtperf workload modify_distribute option WT-5085 Fix spacing in wtperf output WT-5087 Add time tracking at start of reconciliation WT-5088 Refine clearing and setting of debug timer WT-5100 Update test format to disable readonly mode in utility
* Import wiredtiger: 7dfd9391862bc9a6d84868c4dc51689c45a3aacf from branch ↵Luke Chen2019-08-211-933/+877
| | | | | | | | | | | mongodb-4.4 ref: c809757d8b..7dfd939186 for: 4.3.1 WT-4658 Apply Clang Format WT-4810 Adding WT_ERR_ASSERT and WT_RET_ASSERT macros WT-5046 Prepared transactions aren't properly cleared from global table with WT_CONN_LOG_DEBUG_MODE enabled
* Import wiredtiger: c809757d8ba95c9fc2638b80c9b625c9f8df3f65 from branch ↵Luke Chen2019-08-141-2/+0
| | | | | | | | | | | mongodb-4.4 ref: 2e5a26d8b0..c809757d8b for: 4.3.1 WT-5038 Prevent eviction of prepared updates during commit WT-5040 Add dumping of cursor's page on a mismatch WT-5054 Fix test/format bug where truncation operations could fail repeatable read testing
* Import wiredtiger: 19fd4ed45b3a2a8c119b68015113630b0c060e5f from branch ↵Luke Chen2019-08-071-0/+1
| | | | | | | | | | mongodb-4.4 ref: c29f4c6030..19fd4ed45b for: 4.3.1 WT-4460 Optimize for in-order, non-overlapping modifications WT-4956 Handle the case where 4 billion updates are made to a page without eviction
* Import wiredtiger: 6746e5e700b75903480a57a9d77b72df46dbc944 from branch ↵Luke Chen2019-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 3f68638211..6746e5e700 for: 4.3.1 WT-4899 Fix bugs that could allow more than one birthmark in an update chain WT-4900 Implement all_durable timestamp WT-4908 Add verbose failure messages during the metadata recovery phase WT-4930 Fix likely coding errors of error returns after jump to error WT-4931 Fix clang testing in Jenkins Pull Request testing WT-4932 Add logging files to WiredTiger big/little-endian testing WT-4934 Fix and update clang-tidy testing WT-4936 Update clang-scan expected output WT-4937 Fix verify_wt_datafiles.sh to run if no LD_LIBRARY_PATH variable set WT-4939 Fix a test for skipping checkpoints which never returns success WT-4940 Reconciliation should set prepared/uncommitted for each update WT-4943 Fix a bug where uncommitted updates could be discarded
* Import wiredtiger: 3f686382114354b29b1d92b9c4a7dfc870dc5b94 from branch ↵Luke Chen2019-07-121-2/+7
| | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 99e0760cc5..3f68638211 for: 4.3.1 WT-4530 WiredTiger session statistics cursor returns incorrect key on BigEndian systems WT-4612 Improve test coverage for prepare updates older than the oldest WT-4791 Coverity: Dereferencing null (cbt->ins) WT-4842 Enhance lookaside score calculation WT-4857 Fix a bug in column store where skip list traversal could miss an entry WT-4889 Dump additional transaction fields WT-4913 Fix the Windows CRC32 on blocks that aren't 8B aligned and/or multiples of 8B WT-4916 Clang Format pre-formatting fixes WT-4926 Fix the WiredTiger static test suite's test for EBUSY failures WT-4927 Allow updates with timestamps to be evicted to lookaside WT-4928 Fix clang scan warnings in Jenkins Pull Request testing
* Import wiredtiger: 99e0760cc5f11440b21184874d8dd2ae5bde23d6 from branch ↵Luke Pearson2019-07-091-3/+3
| | | | | | | | | | | | | | | | mongodb-4.2 ref: b50d65e856..99e0760cc5 for: 4.3.1 WT-4792 Add stat to track pages queued for eviction after LRU sorting WT-4832 Change ordering on shutdown to close LSM and async threads earlier WT-4836 Lower scheduling frequency for endianness compatibility tests WT-4892 Improve statistics about forced eviction WT-4893 Fix a race between internal page child-page eviction checks and cursors in the tree WT-4898 Don't allow the eviction server to reconcile if it's busy WT-4918 LSM allocated mutexes leaked in readonly tests WT-4920 Add statistics tracking when eviction server is waiting for page transitions
* Import wiredtiger: b50d65e8560446e2cd205594e07bbcaa2305b144 from branch ↵Luke Chen2019-07-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: d86b3a8a33..b50d65e856 for: 4.3.1 WT-4502 Assertion checking hazard pointers on page discard is too strong WT-4733 Change test/format to do longer-term repeatable read testing WT-4743 Fix memory leaks and core dumps in page-split error handling WT-4786 Coverity: Invalid format specifiers in printf-like invocations WT-4805 Modify error message verification for test_prepare04.py WT-4812 Fix the Python distribution script for Python3 changes WT-4818 Add debugging of bad read file descriptor when files are missing during recovery WT-4840 WT_CURSOR.modify must require explicit, snapshot-isolation transaction WT-4864 Coverity: Redundant NULL check WT-4866 Coverity: WT_SESSION.import can leak memory WT-4867 Skip assertion when reserved updates are seen WT-4882 Improve checkpoint performance when there are large metadata pages WT-4887 Skip read timestamp required assert during recovery WT-4888 Remove support for Berkeley DB WT-4891 WT_SESSION.verify memory allocation overrun WT-4895 Fix debug eviction mode so it chooses skew more randomly WT-4910 Port Windows SConstruct to Python 3
* Import wiredtiger: ee1bae262347285f46b5c56cc0490d20b9ee9c98 from branch ↵Luke Chen2019-06-201-9/+1
| | | | | | | | | | | | | mongodb-4.2 ref: 40e3225e55..ee1bae2623 for: 4.3.1 WT-4694 Dynamic compression throughput varies widely WT-4798 Fix bug in picking random dhandle for eviction WT-4862 WT_SESSION.import implies an additional write during checkpoints without an avail list WT-4863 Prototype WiredTiger inline functions WT-4869 Stop adding cache pressure when eviction is falling behind
* Import wiredtiger: 40e3225e55ffbf0c9819af138fa4a014c0639c72 from branch ↵Luke Chen2019-06-141-70/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 9b85ad8968..40e3225e55 for: 4.3.1 WT-4477 Add eviction debug mode and extra checks WT-4494 Support import of of standalone WiredTiger files WT-4580 Abort transactions that perform updates with ignore_prepare=true WT-4719 Non-zero update count detected when committing prepared transaction WT-4787 Coverity: Potential infinite loops WT-4790 Coverity: Memory leak within __wt_curbulk_init WT-4827 Apply commit timestamps when a truncated page is read WT-4829 File names are generated incorrectly in operation tracking scripts WT-4837 Disabled cache during verify WT-4839 Add a feature to python testsuite to run a random subset of tests WT-4844 Only log an informational message when a set read-timestamp is older than the oldest timestamp WT-4848 Fix perf regression when calculating differences WT-4850 Fix __slvg_checkpoint() metadata memory leak WT-4851 heap-use-after-free when block manager grows buffer during final checkpoint WT-4852 Evergreen runs of test/format require shared library extensions WT-4853 Standalone recovery code cannot handle deleted checkpoints WT-4854 wt utility list command has a memory leak and minor error handling bugs WT-4855 WiredTiger recovery should detect files without unique IDs WT-4859 Fix test/format program path issue for endian tests
* Import wiredtiger: 57bd75fee93b685c133281100719f886d0184589 from branch ↵r4.1.13Luke Chen2019-05-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 5d321d0c60..57bd75fee9 for: 4.1.13 WT-4240 Document that system crashes may result in files that need salvaging WT-4710 Fix memory issue for non-verbose dump in datafile portability test WT-4712 Add debug log op record for non-logged tables WT-4732 Remove the bias from the eviction policy on the dhandle order WT-4760 Checkpoint should not read past a stable update WT-4771 Fix compatibility tests to handle a new version release WT-4799 wiredtiger.in references the wrong statistics script WT-4800 List all flags in the wt utility usage statement WT-4803 Implement file_max configuration for Cache Overflow mechanism WT-4804 Add support for ignore_prepare=force WT-4811 Fix durable timestamp assignment for updates created for truncate WT-4816 Don't disallow LSM configurations in test/format WT-4817 heap-buffer-overflow failure in timestamp_abort WT-4819 wt utility list command drops core on empty objects WT-4822 Extend statistics to track max pre compression page sizes WT-4823 Add check for uninitialised lookaside resources
* Import wiredtiger: 5d321d0c6091636a2344ef9915ca06b0c078bda3 from branch ↵Luke Chen2019-05-171-3/+31
| | | | | | | | | | | | | | mongodb-4.2 ref: a332548202..5d321d0c60 for: 4.1.12 WT-4768 Inconsistent data with lookaside eviction followed by sweep WT-4769 Don't discard active history for empty pages WT-4776 Modify operations should be equivalent to updates WT-4778 MSVC build fails when optimisation is turned off WT-4794 Mark lookaside history resolved in all paths WT-4796 Enhance diagnostics that track ref state transitions
* Import wiredtiger: d9ec69f9111b036ee0b19b47368e15bff8d4818d from branch ↵Luke Chen2019-05-071-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 617a81369c..d9ec69f911 for: 4.1.11 WT-4278 Clarify in docs that schema operations are not transactional WT-4309 Increase the maximum expected LAS test reads WT-4352 Resolve birthmarks during eviction in more cases WT-4582 Respect prepared updates in lookaside WT-4642 Store transaction IDs durably WT-4670 Remove support for WiredTiger LevelDB APIs WT-4688 Fix test and docs for correct log cursor usage WT-4690 Make sure eviction does not split during checkpoints WT-4697 Python3: change workgen to work with Python3 WT-4706 Add a statistic to track the lookaside table size WT-4723 Restructure the reconciliation code WT-4725 Python3: change miscellaneous scripts to run under Python3 WT-4726 Python3: set up pull request tester to run with Python3 WT-4728 Remove the stop timestamp from the WT_UPDATE structure WT-4738 Tighten rules around use of timestamps WT-4745 Update upgrading documentation before 3.2.0 WiredTiger release WT-4746 Document that transactions without timestamps clear history WT-4749 Fix error message formatting (possible SEGV) for prepare_transaction WT-4751 Change __wt_timestamp_to_string() to return a pointer to simplify verbose WT-4752 WiredTiger autoconfig check for the compiler incorrectly quoted WT-4753 Strip the timing_stress configuration options from the base configuration WT-4754 Change the checkpoint code to not require a list order WT-4755 Switch to a better timestamp and transaction ID ordering convention WT-4756 Fix comment in python integer encoder WT-4759 Save a copy when an old overflow value is discarded WT-4764 Avoid choosing a transaction frequency of 0 in test/format
* Import wiredtiger: 67066a329d365cb1de6e198184016d4a9d280679 from branch ↵Luke Chen2019-03-251-2/+2
| | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: bb36cf83cd..67066a329d for: 4.1.10 WT-4324 Ensure checkpoints rewrite pages with data in the future WT-4609 Extend timestamp usage documentation WT-4621 Support rounding up prepare timestamp to oldest WT-4629 Research timestamping and add to test coverage for timestamping WT-4630 Add Clang Format script WT-4645 Fill gaps in test coverage regarding transactions WT-4646 Coverity doesn't like testutil_assert() on fopen calls WT-4648 Coverity false positive on fopen call WT-4651 Remove 'incase' from s_string.ok and its uses WT-4654 Split task for Evergreen Windows build variant to reduce makespan WT-4655 Avoid C and C++ compiler incompatibilities
* Import wiredtiger: 82c3f83acae289e0ada5ab4e7fe549e47af1078e from branch ↵Luke Chen2019-03-081-19/+23
| | | | | | | | | | | | | mongodb-4.2 ref: afdead1093..82c3f83aca for: 4.1.9 WT-4526 Allow durable updates to be evicted to the lookaside file WT-4571 Explore performance improvement in __wt_txn_id_alloc WT-4602 Clang Tidy and Clang Scan fixes WT-4607 Allow prepared transaction to commit behind oldest timestamp WT-4619 Coverity 111398: leaked memory
* Import wiredtiger: afdead1093b5c5b41dd54ddddf6f42d92bef1666 from branch ↵Luke Chen2019-03-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 37e1570f82..afdead1093 for: 4.1.9 WT-4413 Add optional compact progress messages WT-4465 Add documentation for a dhandle's lifecycle WT-4514 Implement assert=durable_timestamp WT-4517 Change WT data format to avoid writing stable timestamps WT-4537 Fix WiredTiger cursor prev/next traversal failure on prepare retry WT-4554 Enhance WT salvage to handle the case of corrupted WiredTiger.turtle WT-4556 workgen: add synchronization points during run time WT-4558 WiredTiger connection statistics cursor incorrectly provides doubled-up values WT-4568 Operation tracking visualization incorrectly displays call stacks WT-4573 Reducing calls to __wt_epoch from session reset WT-4587 Parallelize the script that parses operation tracking files WT-4595 Coverity "null pointer dereference" complaints WT-4596 Simplify wt utility's session/connection handling WT-4599 Show latency threshold violations in operation visualizations WT-4605 workgen: read_write_storms.py needs a public domain notice WT-4606 workgen: remove lsm from the default table type in wtperf emulation WT-4613 Skip the wt4333_handle_locks test on OS X WT-4615 Sync backup file before returning backup cursor WT-4617 Cursor next/prev returns PREPARE_CONFLICT only once
* Import wiredtiger: 0c6ba8d8be02dd34a46c3e9533971f1739b6ad8e from branch ↵Luke Chen2019-02-141-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 92719d6bc9..0c6ba8d8be for: 4.1.9 WT-4053 Add statistic for data handle size WT-4296 Add aggressive mode to sweep server WT-4313 Update query_timestamp documentation for last_checkpoint and recovery timestamp WT-4369 random_directio shouldn't assume children threads wrote any data WT-4433 Enable dynamic compression for snappy WT-4447 Add prototype implementation allowing limiting of IO per subsystem WT-4484 workgen: wtperf.py should store python intermediate files in home directory WT-4489 Store correct timestamp in cells on disk WT-4492 Automate testing of versioned data format WT-4501 Fix a race condition opening/closing the shared cache WT-4533 Upgrade to v3 toolchain for Evergreen tests WT-4546 Add workgen improvements and test files to simulate read and write "storms" WT-4547 Consolidate capacity and block manager bytes written WT-4557 Remove error_prefix from base configuration file, set error_prefix in wt command WT-4559 Create a marker file when a test leaves a database corrupted WT-4561 WiredTiger LSM chunk drop can race with hot backups WT-4562 Coverity: possible divide by zero conn_capacity:434 WT-4569 WT_CONN_DATA_CORRUPTION incorrectly set in Btree verify code. WT-4576 Coverity warning in conn_capacity.c
* Import wiredtiger: fa402fef1974b30ef61770caff58b0eabda97781 from branch ↵Luke Chen2019-01-101-3/+27
| | | | | | | | | | | | | mongodb-4.2 ref: 86012f8e40..fa402fef19 for: 4.1.7 WT-4444 Extend cursor operation tracking statistics WT-4483 Improve caching of small updates to large values WT-4505 Add ability to manage when prepared transactions appear in checkpoints WT-4518 Give applications a chance to handle panic before API panic returns WT-4522 Update WiredTiger copyrights to 2019
* Import wiredtiger: e6c1b9724ed6ed2879a36d7e140f4fa9daceb261 from branch ↵Luke Chen2018-12-271-1/+1
| | | | | | | | | | | | | mongodb-4.2 ref: d5793d4dd5..e6c1b9724e for: 4.1.7 WT-4366 Fix how test/format handles prepare conflict errors WT-4426 Change WT data format to include timestamps in leaf page key/value cells WT-4475 clang detected memory leak while executing csuite tests WT-4499 Fix prepared transactions for cursor key order check failure WT-4506 Bypass some csuite tests for valgrind
* Import wiredtiger: d5793d4dd57bb763079e3f79821444e7e666ff44 from branch ↵Luke Chen2018-12-171-23/+33
| | | | | | | | | | | mongodb-4.2 ref: 5812c92f5f..d5793d4dd5 for: 4.1.7 WT-4280 Add debugging to know which session has a hazard pointer WT-4430 Fix race between prepare and page instantiate with fast truncate WT-4482 lint
* Import wiredtiger: 74aa2f92a95596196d8ff131cdf015850613c893 from branch ↵Luke Chen2018-11-261-214/+23
| | | | | | | | | | | | | | mongodb-4.2 ref: a065c83d8d..74aa2f92a9 for: 4.1.6 WT-3756 Adjust pre-allocated file amount downward if we're not using them quickly enough WT-4381 Reset session statistics as on WT_SESSION::reset() WT-4394 Reduce Evergreen Ubuntu build variant runtime by splitting up 'make check' tests WT-4419 big-endian machines incorrectly configure little-endian crc32c support WT-4427 Make WiredTiger timestamps always on and 8 bytes WT-4440 Force a copy of the stable timestamp for clarity
* Import wiredtiger: 22b1224ee0623db1ed03f6bf5dd681deb1aa8b2e from branch ↵Luke Chen2018-10-291-2/+2
| | | | | | | | | | | mongodb-4.2 ref: 0b8896b434..22b1224ee0 for: 4.1.5 WT-3898 Keep prepared updates in lookaside until they are read WT-4387 Fix ordering of referenced shared libraries in workgen WT-4389 Update wtperf runner script to accept multiple arguments
* Import wiredtiger: 972eb97326d86e2e6b660f3bc19f1b45e9bd361b from branch ↵Luke Chen2018-10-151-5/+3
| | | | | | | | | | mongodb-4.2 ref: d235e0e71e..972eb97326 for: 4.1.5 WT-4341 Support million collection testing in Evergeen WT-4355 Fail to find prepared updates during transaction rollback
* Import wiredtiger: d235e0e71ef84c3f9d5a870f08feeff9a7c5581e from branch ↵Luke Chen2018-10-091-7/+10
| | | | | | | | | | | | | | mongodb-4.2 ref: e7d742daa2..d235e0e71e for: 4.1.4 WT-4214 Simplify timestamp handling for timestamp abort test WT-4220 Enable long running prepared support WT-4293 WT_CURSOR.remove can lose a cursor position WT-4297 Enhance steady throughput workload WT-4346 Remove prepared updates from lookaside on reading the page. WT-4351 Ensure resolving prepared transactions use updates from itself
* Import wiredtiger: e7d742daa2d2500cd94a7061f754a1d0c4aa963c from branch ↵Luke Chen2018-10-041-0/+1
| | | | | | | | | | | | | | | | mongodb-4.2 ref: 9ee7cc6956..e7d742daa2 for: 4.1.4 WT-3995 Enhance timestamp abort to accept more number of threads WT-4164 Ensure test/format configures a reasonably sized cache WT-4224 Add statistics for prepared transactions WT-4315 In rollback_to_stable, only check timestamp order if enforced WT-4328 Use an internal session handle for schema operations in a txn WT-4342 Set session max on all configuration strings in timestamp_abort test WT-4347 Limit the threads spawned by timestamp_abort with default config WT-4348 Create all tables before spawning threads in random_directio test
* Import wiredtiger: 9ee7cc6956dda425f3522f6d32ec55c67e9c49f8 from branch ↵Luke Chen2018-09-271-57/+262
| | | | | | | | | | | | | | mongodb-4.2 ref: f2959cdb9f..9ee7cc6956 for: 4.1.4 WT-4217 Enhance commit and rollback to re-read prepared updates WT-4322 Enable direct I/O based crash test in make check WT-4335 Don't fail rollback_to_stable due to sweep activity WT-4337 Coverity #1395811 Time of check time of use WT-4338 New WT_TXN_TS_XXX flags break #undef HAVE_TIMESTAMPS build WT-4340 The cursor caching layer can incorrectly release too many handle locks
* Import wiredtiger: 45fd19bcb1007fd4e473d77ddd09d3157ff15c7e from branch ↵Luke Chen2018-09-111-33/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 63b8cf2e0b..45fd19bcb1 for: 4.1.3 WT-3879 Disallow checkpoint from evicting metadata pages WT-4090 Low priority reads WT-4119 Avoid restarts updating / removing during a column store scan WT-4131 Rename lookaside to cache overflow WT-4154 Surface the oldest read timestamp WT-4156 Add new wiredtiger_salvage top level API WT-4177 Backup cursor open should force a log file switch WT-4218 Change eviction to evict prepared updates WT-4231 Fix ctags index of functions with attributes WT-4246 Change transaction update list to support indirect references WT-4259 Restore ref to the previous state rather than MEM when eviction fails WT-4261 Test salvage of out-of-sync metadata/turtle files WT-4267 fixed-length column store operations can corrupt data WT-4268 Random abort should wait until record files exist before starting timer WT-4270 Add an operation field to know where threads hang WT-4272 Increase startup timeout to 30 seconds for slow I/O systems WT-4274 Fix memory leak in wt4156_metadata_salvage test WT-4277 Make truncate in column stores more efficient WT-4281 Shorten runtime of Python test suite WT-4282 Don't transition pages from limbo to mem unless required WT-4283 Restore WT_ERROR and use a corrupt flag WT-4284 Print a verbose message in recovery on error too WT-4285 Fix wt4156_metadata_salvage Coverity/lint complaints WT-4286 Column store should skip end-of-table checks if there's an exact match WT-4288 Don't let return value of closing conn overwrite WT_TRY_SALVAGE WT-4289 Update WT_DATA_CORRUPTION to WT_TRY_SALVAGE in test_txn19.py WT-4291 Fix test_txn19.py error detection WT-4292 Add call to testutil_cleanup to avoid memory leak WT-4300 Setting the update timestamp can overwrite the WT_REF.addr field WT-4301 WT_CURSOR.reserve operations can leak memory when committed WT-4305 Add a gating variable for long running prepare support WT-4306 Fix mode if metadata pages need eviction
* Import wiredtiger: 63b8cf2e0b786296f5b99c363e604a3348299c06 from branch ↵Luke Chen2018-08-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: c91b804126..63b8cf2e0b for: 4.1.3 WT-3735 Add a workgen workload that generates a lot of page splits WT-3894 Timestamp queue implementation and statistics improvements WT-4104 Fix test/format failure during comparing data content with berkeley db. WT-4144 Fix rollback_to_stable with lookaside history WT-4176 Expose a WT_SESSION.query_timestamp method WT-4211 Add automated test for long running prepared transactions WT-4212 Update lookaside schema to handle prepared transactions WT-4216 Use separate counters for page_swap yield and sleep WT-4233 Change log corruption errors to warnings and truncate log WT-4239 Don't allow checkpoints to perform insert-splits in the tree WT-4241 GNU-stack section should never be conditionally compiled out WT-4248 Fix checkpoints in schema_abort for slow machines WT-4249 Attempt to discard dirty page during verify operation. WT-4251 Prepared updates cannot be discarded WT-4252 Btree debug functions can leak scratch buffers on error. WT-4253 Btree debug function to do blind reads doesn't handle row-store internal pages WT-4256 Loosen check during rollback_to_stable WT-4257 Don't assume timestamps from lookaside are aligned in memory WT-4262 Lock deleted children in eviction of internal pages WT-4263 Use the right tree when copying a key for a lookaside write WT-4264 Compaction can race with page modifications
* Import wiredtiger: 27f8e047911ff31500fecf4ea760e688ec541b97 from branch ↵Luke Chen2018-07-031-14/+58
| | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: a8a6314182..27f8e04791 for: 4.1.1 WT-3839 Document the undefined behavior when a range truncate overlaps with inserts WT-3917 Enhance WT_CURSOR::reserve documentation around commit visibility WT-4024 Fix a race between split and next/prev WT-4067 Enhance LSM to not pin as much history in cache WT-4111 Improve checkpoint scrubbing algorithm WT-4125 Ensure that subsequent checkpoints with stable timestamp don't read too much WT-4136 Add a new timing stress flag that yields during tree search WT-4138 Add an option to timeout waiting for space in the cache WT-4140 Cursor walk limits quick eviction page selection unnecessarily. WT-4141 Enhance checkpoint with timestamps to unblock eviction sooner WT-4145 Only include the checkpoint timestamp during checkpoints WT-4146 Coverity 1393639, unused variable WT-4152 Save return value for later comparison in transaction code
* Import wiredtiger: fe04ad07ab7608718bc24aa5f9e0103aaec26b02 from branch ↵Luke Chen2018-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | mongodb-3.8 ref: ba76f72622..fe04ad07ab for: 4.0.0-rc0 WT-3698 Threads doing eviction can stall indefinitely when timestamps fail to advance WT-4000 Avoid getting two snapshots when setting a read_timestamp WT-4004 format snapshot-isolation search mismatch failure WT-4016 Measure and improve lookaside performance with stable_timestamp set WT-4029 Bump the log file version WT-4056 New API to configure a minimum compatibility version on open WT-4060 Clean up __wt_getenv() error handling. WT-4074 Lint fixes WT-4078 Splits can leak a page lock if memory allocation fails. WT-4080 gcc8 -Wparentheses complains about WiredTiger's __F() macro. WT-4081 Improve errors and documentation for syscall.py WT-4086 Verify log file versions before opening logging subsystem
* Import wiredtiger: 5bfcc924079afdcd6dda22c29b5fa60a14ec3dc9 from branch ↵Luke Chen2018-04-101-0/+2
| | | | | | | | | | | | | | | | mongodb-3.8 ref: ea986ede14..5bfcc92407 for: 3.7.4 WT-3886 Identify statistics relevant for prepared transactions WT-3910 Fix libwiredtiger-3.0.1.dylib loading failure on OS X WT-4006 Add support for stress timing configurations to test/format WT-4009 Create fast path for cursor caching with "overwrite=false" WT-4014 If eviction walk is interrupted, clean up the queue. WT-4015 Enhance schema06 unit test to test drops WT-4017 When evicting during a checkpoint, avoid splits WT-4028 Don't check for a modified page without holding the ref locked