summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/meta/meta_ckpt.c
Commit message (Collapse)AuthorAgeFilesLines
* Import wiredtiger: b85c4b8a97b80cd0eb5e71843fdd12c0b905c5a7 from branch ↵Luke Chen2021-08-261-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 27d10c3362..b85c4b8a97 for: 4.4.9 WT-6908 Write "cache" subpage for Architecture Guide WT-6911 Write "block manager" subpage for Architecture Guide WT-7005 Write "session" subpage for Architecture Guide WT-7006 Write Connection subpage for Architecture Guide WT-7905 Fix incorrect builtin behaviour for builds in CMake WT-7909 Create a new method to check for running user transactions before starting rollback-to-stable operation WT-7917 Add evergreen validation to s_all WT-7931 Evicting modifies using the evict cursor in test_multiple_older_readers_with_multiple_mixed_mode() to ensure that eviction happens. WT-7941 Add an Evergreen task to test abort/recovery using test/format WT-7964 Fix rollback to stable incorrectly not rolling back updates at snap_max WT-7965 Update connection base write generation number at the end of recovery checkpoint WT-7970 Set the stable timestamp before starting the checkpointer and clock threads WT-7974 More column-store fixes and tests WT-7984 Fix a bug that could cause a checkpoint to omit a page of data WT-7995 Fix the global visibility that it cannot go beyond checkpoint visibility WT-7998 Minor fixes on Cache subpage of Architecture Guide
* Import wiredtiger: 2b73914cd8912fab0e01ebd67cd0106de45442cd from branch ↵Luke Chen2021-07-211-112/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 5444fd4334..2b73914cd8 for: 4.4.8 WT-6280 Fail eviction if out of order handling races with checkpoint WT-6729 Quiesce eviction prior running rollback to stable's active transaction check WT-6782 test_prepare_hs02 WT_ROLLBACK failure: conflict between concurrent operations WT-7231 Add CMake build and tests into Evergreen WT-7279 Allow multiple terminate calls for storage source extension WT-7317 Improve the runtime_monitor component to track history store cleanup statistics WT-7338 Copy the configuration directory when building the test framework WT-7343 Write a script that executes many-collection-test.py WT-7383 Add framework for new hs_cleanup test and refactor workload generator and database operation WT-7447 Fix the assert fire because onpage out of order update is not popped from the stack WT-7473 Resolve "TODO: tiered" comments in code WT-7507 Update salvage for a history store and timestamp world WT-7520 Add start and stop values to automatic flag generation code WT-7524 Refactor functions to obtain checkpoint list; Clear delete on skipping checkpoints WT-7539 Add a configuration option that allows the user to specify debug modes. WT-7543 Pass in the correct test name when constructing the default config path WT-7552 Add UBSAN to automated WT testing WT-7553 Loosen the restrictions around evicting fast-truncate pages to avoid cache-stuck failures WT-7556 Fix test_rollback_to_stable10 failure cache_hs_ondisk is 0 WT-7583 Coverity analysis defect 114074: Logically dead code (rework) WT-7585 Fix cyclomatic-complexity test failure WT-7589 Fix reopening connection after a flush_tier in tiered tests WT-7591 Fixes to allow cursors to be open during flush_tier WT-7603 Sort statistics to fix JSON output WT-7605 Drop support for million-collection-test WT-7609 Report on time taken to start and shutdown the database in many-coll-test WT-7616 Create a pass or fail test based on many collection workgen workload WT-7619 Add a new optimization to skip pages in cursor traversal when all entries on the page are deleted WT-7626 We only ensure update restore eviction happened in test debug mode09 WT-7628 Return an error message when supplied invalid command line args in the test framework WT-7629 Run clang format on .cxx files in the codebase. WT-7632 Fix invalid argument in test_rollback_to_stable14 WT-7636 Fix leaked cursors by implementing scoped cursor and session types WT-7639 Alter test_tiered02.py to collect more data before asserting for missing file WT-7640 Fix test_backup02 failure where checkpoint tables differ due to checkpoint cursor not supported WT-7644 Implement python hooks for tiered storage WT-7646 Remove unneeded uses of WT_WITH_BUCKET_STORAGE macro WT-7647 Change Zstandard wrapper to include context management WT-7648 Improve error messaging in the test framework WT-7649 Skip timestamp assert during recovery WT-7659 Disallow rename on tiered table WT-7660 Rename poc_test to base_test in the cpp test framework and add insert_operation logic WT-7665 Apply op tracking inserts in the workload transaction WT-7666 Add assertion to check whether duplicate history store inserts are modifies WT-7667 Fix workgen JSON output WT-7668 Overload the update method for the hs_cleanup test WT-7670 Modify test tag format and tag additional python tests WT-7672 Remove make-check-test from Windows CMake Evergreen build variant WT-7674 reduce rollback-to-stable work for fast-truncate pages WT-7675 Query last ckpt timestamp changes without taking checkpoint WT-7676 Reformat wtperf backup to only read in files instead of wt_copy_and_sync WT-7679 Create an evergreen test for many-dhandle-stress WT-7680 refactor rollback-to-stable to support operating on individual files WT-7683 Add python test hook to call flush_tier() during connection.close() WT-7685 Fix invalid values and units for latencies in workgen WT-7686 Fix config call, allowing "sync" option to work for flush_tier WT-7687 Stop tiered manager thread before internal thread WT-7689 Fix double free in `__curhs_insert` WT-7690 Fix coverity error when enum is compared against 0 (incr_backup:table_changes) WT-7692 fix make check test failure on osx10 14 cmake WT-7696 Fix coverity error - Unused variable in _rollback_to_stable_btree_apply_all WT-7698 Decrease max_latency value in many dhandles scenario for workgen WT-7699 Fix RTS handling to abort an out of order prepared transaction WT-7705 Add an assert to ensure that there are no updates on the new disk image in update restore WT-7706 Use same transaction update when on-disk value is an aborted prepared update WT-7707 Simplify insert splits to use the splitting WT_REFs key WT-7708 Add an assert to ensure the durable timestamp is larger than stable timestamp at the end of prepared commit WT-7710 Fix to use history store btree to initialise history store cursor WT-7715 Fix uninitialized bool in txn_ckpt.c WT-7717 Change macros in local_store.c to use WT namespace WT-7719 Change default value of ENABLE_STRICT to "OFF" (CMake Usability Improvements) WT-7720 Update POSIX CMAKE doxygen documentation (CMake Usability Improvements) WT-7721 Update test-format to reopen an existing database with different config WT-7723 Delete the updates in the history store if they are rolled back or is the first stable update on the update chain WT-7724 Fix race when running concurrent checkpoint and flush_tier WT-7725 Add missing brackets around parameter in macro definition WT-7726 Separating out the validation portion from the database model WT-7727 Fix null pointer passed to memcpy() during 'format' test. WT-7729 Fix to write out correct tiered information on checkpoint WT-7730 Shifting the oldest and stable timestamps to match the commit timestamp format WT-7739 Switch back to using MacOS 10.14 for Evergreen compile task WT-7741 Fix misaligned address in crc32-x86.c WT-7742 Fix misaligned address in wt3184_dup_index_collator/main.c WT-7743 Fix integer overflow within wt2999_join_extractor csuite test WT-7744 Fix null pointer within wt3338_partial_update csuite WT-7746 Improve directory syncing with CMake helper 'create_test_executable' WT-7748 Fix CMake library probes for libraries not on the default linker path WT-7749 Assorted fixes for (and from) building and testing on NetBSD WT-7751 Add an assert to ensure we never select an update that has been written to the history store for data store WT-7752 Update packing code according to documentation WT-7754 Fix race when updating block manager file handle WT-7755 YSCB: Add a native implementation of YCSB to WTPERF. WT-7756 RTS to clear the HS flag of an update following tombstone WT-7760 Support array parsing in CppSuite config handling WT-7761 Improve debug_print to include timestamp, thread_id and reorder args in cppsuite. WT-7762 Create stressful configs for the two tests add them to evergreen. WT-7763 Coverity issues found in the stress testing framework WT-7765 Fix signed integer overflow in intpack-test3 WT-7766 Fix null pointer passed to memset in test_wt3338_partial_update WT-7767 Code cleanup for curhs_remove and __txn_fixup_prepared_update WT-7770 Fix issue linking TCMalloc in CMake WT-7776 Add a hard limit on the number of modify updates before we instantiate a complete update WT-7778 Fix null dereferencing, and return of incorrect allocation size WT-7780 Guarantee log message sequencing in the test framework. WT-7781 Avoid skipping python tests for 3rd party ext libraries in CMake builds WT-7782 Separate implementation from headers in cppsuite test framework WT-7783 Fix RTS to restore tombstone when an on-disk update is out of order prepare update WT-7784 Enable RTS to use checkpoint snapshot on timestamp tables WT-7795 Fix CppSuite failure "expected ) before PRIxMAX" WT-7796 Scan the tracking table and delete parts of it that are obsolete. WT-7797 Disable postrun stats in CppSuite testing WT-7799 Do not report failure of wiredtiger_open in python tests to output WT-7802 Remove data store same transaction update squash logic WT-7804 Fix test_hs24 committing mixed mode update from the wrong value WT-7807 Remove unused arg in backup_config WT-7811 Fix test_hs24 not commiting from 0 timestamp WT-7813 Stop inserting to history store if we see a prepared update WT-7815 Properly initialize prev_upd_ts for ordered timestamp assertion WT-7825 Fix test_hs24 key order WT-7828 Move many-coll-test to ubuntu1804-wt-large and update thresholds accordingly WT-7831 Clear transaction ids from previous run when repack the cell WT-7832 Add an encryptor extension that uses the libsodium cryptography library. WT-7836 Fixing a number of small issues in the cppsuite test framework WT-7837 Clear updates structure in wt_hs_insert_updates to avoid firing assert WT-7841 add "only unencrypted" checksum configuration, switch checksum default to "on" WT-7843 Add missing macros to define PRIxMAX WT-7846 Disable test_tiered08 WT-7851 Fix illegal checksum configuration in compatibility-test-for-newer-releases WT-7852 Don't release eviction server lock when evicting pages WT-7856 Enable flush test with open cursor in test_tiered04 Reverted ticket(s): WT-7443 Add error message when bulk cursor can't get exclusive access to dhandle
* Import wiredtiger: 7374df6c344587d433853d01f0c6241428ab7a80 from branch ↵Luke Chen2021-06-021-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: bae0c1c914..7374df6c34 for: 4.4.7 WT-6230 Sanitize python test suite directory naming WT-6436 Fix not resetting the key when retrying to search the history store WT-6555 Fix memory error in test_txn13 WT-7135 Additional checks to detect when writing corrupted metadata WT-7267 Compare entire history store key when inferring cursor position in `search_near` WT-7348 Complete CMake POSIX support WT-7379 Disable column store tests in compatibility test WT-7440 Integrate file cursor with tiered storage WT-7452 Improve logging when recovery (and RTS) is taking a long time WT-7469 Fix potential hot backup read lock never unlocked WT-7493 Add a new connection config to control the page eviction with update restore eviction WT-7498 Implement tiered storage internal thread operations WT-7504 Fix test_hs21 cache stuck dirty WT-7510 Disable import when direct I/O is enabled in test/format WT-7532 Hold schema lock when tiered manager calls flush_tier_once WT-7541 Updated evergreen command to parse folder names with undesirable characters WT-7542 Add a Python test to reconfigure zstd compression level after restart WT-7545 Limit upgrade/downgrade testing to timestamp transactions at snapshot isolation WT-7548 Create macro to identify dhandles directly associated with a Btree WT-7549 clean up block manager identifiers to use object id naming WT-7550 Properly check pinned page and fix not resetting cursor if error WT-7565 Update invalid backup configurations WT-7566 Resolve write after free for dead dhandle WT-7567 Rework tiered storage reconfigure WT-7569 Fix wrongly squash an out of order timestamp update WT-7573 Print an error message and exit for invalid backup configurations in wtperf tests WT-7574 disable compact tests for OS/X WT-7581 Make wt_cache_config args consistent with other config functions WT-7595 Add flag to history store cursor to track whether underlying table insertion was successful WT-7602 Fix MacOS CMake Compilation Issues Reverted ticket(s): WT-7503 Change default compressor for WT HS to Zstandard
* Import wiredtiger: bae0c1c914bc0fa92f3775c08650b65663094034 from branch ↵Luke Chen2021-05-191-47/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: aadac22242..bae0c1c914 for: 4.4.7 WT-6403 Restore format non-timestamp transactional testing WT-6576 Fix the aborted on-disk prepared key WT-7106 Increase how often delta encoding is used for history store records WT-7204 Update cursor-backward walks key instantiation support WT-7234 Prefix-compressed keys and memory amplification WT-7296 Merge default configuration with supplied test configuration in test framework WT-7325 Created a script to generate a new test in the WT test framework WT-7381 Cache btree's ckptlist between checkpoints WT-7382 Refactor of database validation in the test framework WT-7407 test/format failure classifier WT-7411 Stats and counter to track prepared updates WT-7416 Imported table requires full copy between incremental backups WT-7446 Fix incorrect duration_seconds value in test framework WT-7486 Coverity explcit NULL dereferenced WT-7487 Coverity explcit NULL dereferenced WT-7497 Add flush component to object metadata WT-7499 Change WT_STORAGE_SOURCE.flush API and add flush_finish WT-7503 Change default compressor for WT HS to Zstandard WT-7506 Allow single and double quotes inside auto-formatted comments WT-7511 Add assert to ensure the history store page is pinned before search WT-7519 Fix flags field overflow in WT_DATA_HANDLE WT-7525 Add key order check right after history store insert WT-7537 Change local tier object suffix to .wtobj WT-7546 Coverity: Minor issues in CppSuite test harness
* Import wiredtiger: 8f90c3c2923040725fb424b3a5c510bacc4ce380 from branch ↵Luke Chen2021-03-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 8d6061cfc8..8f90c3c292 for: 4.4.5 WT-6856 Extend the configurations supported by the framework WT-7060 Set the history store file size stat on startup WT-7095 Checkpoint generation update during history store checkpoint WT-7160 Migrate wiredtiger-doc-build job to Evergreen WT-7235 Enhance tiered API for object naming WT-7239 Embed compile step into macOS unit-test WT-7268 Coverity reports failures for test_harness code WT-7269 Enable column store scenarios to all RTS existing tests WT-7275 Add timestamp and transaction management to the test framework WT-7288 Construct a many-dhandle-stress.wtperf workload WT-7289 Add warning and fatal wtperf options for idle_table_cycle WT-7290 Import many-dhandle-stress.wtperf to workgen WT-7295 Compatibility with older versions of WT WT-7298 Remove LSM references from tiered cursor code WT-7299 Remove extraneous output from results.txt for Python tests WT-7300 Moving workload_generator load phase into run WT-7302 Use last connection base write generation as a minimum base write generation for a btree WT-7307 Rework the tombstone visibility checks for history store cursor previous and next calls WT-7308 Update the configuration definition of the test framework to be more structured WT-7311 New option to specify test to run in the test framework WT-7328 Coverity: Multiple warnings in local_storage extension WT-7331 Fix exact return when we place the history store cursor on e exact key initially WT-7338 Copy the configuration directory when building the test framework WT-7339 Coverity: Incorrect deallocator WT-7349 Free memory access when walking through HS during eviction WT-7354 Refactor tiered schema code to follow conventions WT-7360 Fix batchtime setting for some Evergreen builders WT-7361 Remove doc-update task from patch build
* Import wiredtiger: 8d6061cfc8910dd0e591d8025e8b2649c063e71e from branch ↵Luke Chen2021-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 68bc106b4a..8d6061cfc8 for: 4.4.5 WT-6066 Re-enable endianness tests on evergreen WT-6525 New parameter required in __wt_hs_insert_updates to indicate successful write in history WT-6709 Remove timestamp queues that used to store read/durable timestamps WT-6854 Implement test harness validation WT-6855 Initial implementation of runtime monitor WT-6935 Update connection base write generation value from all file checkpoints in metadata WT-7072 Add a column store example WT-7108 Update column store documentation to include ex_col_store example WT-7120 Add variable-length column store to RTS for updates in the data store with history WT-7150 Trailing uninit mem in schema project WT-7177 Create a shared storage extension that implements a local storage solution WT-7223 WT_CALL_FUNCTION should not print out a message WT-7301 Revert configuration changes in poc_test
* Import wiredtiger: 3f4a0f60178bc7336f3af1f8de9c5e3161205ac5 from branch ↵Luke Chen2021-03-031-8/+16
| | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: e320231c1b..3f4a0f6017 for: 4.4.5 WT-6673 RTS fix inconsistent checkpoint by removing updates outside of the checkpoint snapshot WT-6851 Add a thread management library to the cpp test framework WT-6853 Add workload operation tracking WT-6912 Write "logging" subpage for Architecture Guide WT-6926 Update WiredTiger source code to include 2021 copyright notices WT-7047 Use stable timestamp as required in test_prepare_hs04 WT-7208 Leave table cursor in a valid state when subordinate index fails to open WT-7224 Moved test_config.c to src/config WT-7238 Use of constructor initialization list to avoid seg fault WT-7242 Fix example to correctly use API for system and no encryption WT-7243 Fix unexpected output failure in test_bug025 WT-7252 Remove redundant code which was pushed by WT-6673
* Import wiredtiger: 1ba1d9bab805851532495a05f4e2421c8cf30a61 from branch ↵Luke Chen2020-11-201-5/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: d6d4b1cc01..1ba1d9bab8 for: 4.4.3 WT-4780 Enable assertion that commit timestamp is newer than all readers WT-6449 Hang analyzer for WT Evergreen tests WT-6678 Remove Huffman Encoding support for Keys WT-6693 Add compatibility testing for imported objects WT-6706 Add table import repair functionality WT-6713 Remove transaction support from custom data sources WT-6722 Review function names in history store module WT-6750 Assert to ensure no duplicate entries in the history store WT-6751 Assert if new value is the same as old value for a history store update WT-6752 Assert history store will not have any uncommitted updates WT-6753 Assert only stop time pair of history store update can be modified. WT-6816 Design write gen scheme to allow dhandles with active history to get closed/re-opened WT-6824 Fix OSX python test errors related to UTF encoding WT-6828 Fix doc link in README WT-6830 Encode bytes before concatenating with string WT-6835 Add API to allow consolidating incremental backup info WT-6836 Handle the last key in the shadow table being removed by rollback to stable in timestamp abort WT-6839 Add API to query existing incremental backup IDs WT-6842 Add example showing using src_id only WT-6844 Make force stop durable WT-6857 Define a new cursor for the history store access. WT-6858 Implement insert method for the history store cursor WT-6860 Add relevant history store statistics to data handles WT-6867 Documentation: create model subpages for architecture guide WT-6869 Assert tree walk never return the start ref WT-6870 Rename history store statistic to better describe its use case. WT-6872 Replace the yield instructions with an ISB WT-6875 Remove legacy import invocation WT-6882 Files created during incremental backup should be copied in full WT-6883 Redo change for breaking up backup ranges and fix for EOF WT-6916 Create stub subpages for architecture guide WT-6922 Add random consolidate testing to incr_backup WT-6925 Fix incorrect comment
* Import wiredtiger: 03178d7f9c3e1db7383268bfb346bd9cb551da1c from branch ↵Luke Chen2020-10-191-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: f4b6230119..03178d7f9c for: 4.4.2 WT-6446 Rename *.i files into *_inline.h files WT-6490 Acquire snapshot for eviction threads WT-6624 Use transaction snapshot for applications performing eviction WT-6671 Save the checkpoint snapshot that is used to take checkpoint in the metadata WT-6691 Add file import repair functionality WT-6708 Repurpose oldest start txn to be newest txn in the aggregated time window WT-6725 Skip checking visibility for updates restored from disk WT-6741 Add check for supported data source on import WT-6746 Save base write gen in metadata during checkpoint WT-6761 Ignore stdout for test_rollback_to_stable10 WT-6763 Fix freeing update on the chain when insert fail after inserting to the update chain WT-6767 Adding a new read timestamp config that allows it to be set older than the oldest timestamp WT-6783 Generate unique keys for table to ensure log records WT-6792 Update compatibility tests to test against mongodb-5.0 branch WT-6793 Organize code statistics Evergreen tasks WT-6797 Ensure minimum entries before short-circuiting WT-6806 Back off aggressive abort in random_directio
* Import wiredtiger: f4b62301193f8180890351a892baa067e3e7c27b from branch ↵Luke Chen2020-10-121-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: bb1cc65a63..f4b6230119 for: 4.4.2 WT-6410 Remove WT_SESSION.rebalance WT-6643 Explicitly set the 64-bit uint part of the LSN for atomic assignment WT-6690 Add support for table import when the exported configuration is provided WT-6692 Handle scenario where imported timestamps are newer than current DB's timestamps WT-6719 Split hs.c to multiple files WT-6720 Add new hs open() and close() methods WT-6723 Remove lookaside comments WT-6731 Prevent WT_RESTART from being returned to API calls WT-6732 Fix post-task command noises in Evergreen task logs WT-6745 Rollback the global durable timestamp after rollback to stable WT-6747 Add prepare support in checkpoint test WT-6748 Support testing different durable timestamp and commit timestamp in timestamp abort WT-6749 Write a python test for update restore of prepared updates WT-6756 Documentation: reorganize top level WT-6762 Use stats instead of files to check consumption WT-6765 Add more debugging and earlier detection of missing file
* Import wiredtiger: 8a1dce8653b409762cbdaab5538e4d4c8ebf5403 from branch ↵Luke Chen2020-09-211-3/+16
| | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 6a7db4f96f..8a1dce8653 for: 4.4.2 WT-6064 Enable coverage-report test in evergreen WT-6263 Reenable history store verification WT-6277 Compatibility tests verify failure in timestamp validation WT-6427 Always set stable timestamp when setting oldest timestamp WT-6467 Fix history store verification WT-6546 Update fast truncate to use newest start durable ts WT-6583 Only clear the read timestamp when releasing the transaction WT-6592 Avoid marking errors for skipped Python tests due to not-built extension WT-6616 Set the oldest timestamp of the checkpoint when it is finished WT-6649 Coverity: Unintentional integer overflow in __wt_rec_need_split WT-6650 Coverity: Null dereferences in session::close WT-6653 Rollback/Restart txn before retry in RTS test WT-6666 Start op timer when we configure it in rollback and commit WT-6680 Temporarily disable history store verification
* Import wiredtiger: 6a7db4f96fe828fdb1b9a31d83460c0573a2c3b1 from branch ↵Luke Chen2020-09-091-31/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 579966149b..6a7db4f96f for: 4.4.2 WT-5144 Use wt_clock instead of wt_epoch in perf programs WT-5585 Remove cache_overflow config option WT-5693 Enable test_wt4105_large_doc_small_upd WT-5940 Migrate to Clang Format 10 WT-6000 Enhance incremental backup testing in format to support restart WT-6006 Revert test binaries to 10 in checkpoint-stress-test WT-6027 Fix docs spelling errors and warnings WT-6322 Split full compatibility tests into smaller groups WT-6390 Extend compact02 timeout from 8 => 10 minutes WT-6404 Add timing stress that delays checkpoint after it calls __wt_txn_begin WT-6451 Do not evict clean metadata pages if needed for historic reads WT-6458 read row-store leaf pages with prepared updates in a single pass WT-6463 History store operations should honor cache size WT-6471 Avoid the error message for non-existent clang-format binary WT-6472 Update timestamp_abort test cache configuration WT-6478 Cursor cache statistics not getting incremented WT-6505 Add debugging for missing file failure WT-6507 Exit cache eviction worker after our operation has timed out WT-6526 Fix assertion failure when opening DB in readonly mode after unclean shutdown WT-6532 Consider update structure overhead in split length calculation WT-6542 Add an assert to ensure we are not unintentionally returning empty values WT-6544 Onpage value not appended to the tombstone restored from the data or history store WT-6556 Fix internal sessions to use internal session close function than public API to avoid memory leak WT-6559 Use the session id from the new session to determine statistics bucket WT-6560 Fix usage of global salvage in WT utility WT-6561 Provide MongoDB configuration in the wt utility usage output WT-6569 Squash the prepared updates into a single update before writing it to data store WT-6570 RTS to remove the left over updates in the history store without stop timestamp WT-6571 Lseek cannot use error_sys_check because it does not return an int WT-6577 History store dump outputs confusing time window WT-6578 Prevent reconciliation from looking past the on-disk value WT-6581 Fix class name in test_hs15 WT-6585 Panic if updates that are older than the updates in history store are inserted to history store WT-6586 Tombstone inserted to history store should also be flagged as WT_UPDATE_HS WT-6589 Fix disabled cursor cache python tests WT-6591 Stop checkpoint thread before closing connection in Python tests WT-6593 Retry conflicting operations in test_rollback_to_stable10 WT-6596 Increase cache for timestamp abort test and separate key spaces for all abort tests WT-6598 Add new API allowing changing dhandle hash bucket size WT-6602 Allow operation timeout ms to be passed to commit and rollback WT-6604 Fix typo in the comment descibing WT_CELL structure WT-6610 Fix incremental backup checkpoint parsing to handle upgrades WT-6611 Revert enhancement allowing rename and incremental backup WT-6613 Add python test for early_load flag WT-6615 Initialize last_upd where it is actually used WT-6619 Eliminate possibility of infinite loop in test_cursor13.py WT-6623 Set the connection level file id in recovery file scan WT-6625 Remove outdated TODO WT-6635 Disable mix and column filetype test WT-6640 Coverity: Failure to restore saved dhandle WT-6641 Coverity: Unused value
* Import wiredtiger: d437e51e78120ab2999ffe40c0b6d46f3f878126 from branch ↵r4.4.1-rc1Luke Chen2020-08-241-43/+24
| | | | | | | | | mongodb-4.4 ref: 9c79fedf12..d437e51e78 for: 4.4.1 WT-6611 Revert enhancement allowing rename and incremental backup
* Import wiredtiger: 9c79fedf125e1d63250d767a8bddffcfa9fb7757 from branch ↵Luke Chen2020-08-101-30/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 8092bf0a39..9c79fedf12 for: 4.4.1 WT-5571 Evergreen loses compiler warnings, need way to add to CFLAGS WT-5717 Reenable history store salvage test WT-5945 Enable stricter performance for test_wt2853_perf WT-5970 Update test_wt4333_handle_locks to use 1GB cache size WT-6215 Clear backup block information on rename WT-6233 Add statistic to track the number of times we remove keys from the history store due to inserting 0 timestamped entries WT-6274 SESSIONs shouldn't nest calls to get/release hs cursor WT-6325 Fast truncate can lead to never resolved prepared operations WT-6331 Set oldest timestamp on startup of WiredTiger WT-6421 Avoid parsing metadata checkpoint for clean files WT-6425 Turn off log archiving to avoid file copy race WT-6440 Use onpage visibility check helpers in __wt_txn_update_check WT-6466 Don't reset the WT_SESSION timers when HS cursors are closed WT-6468 Discard a deleted page that is cleaned by a checkpoint WT-6473 format configuration with tiny caches can result in empty objects WT-6474 Configure the global RNG before doing any command-line or configuration file processing WT-6479 Don't insert updates after the first globally visible update to the history store WT-6488 Fail update restore eviction if no new updates were written WT-6491 No need to append the onpage value if it is prepared WT-6492 Use WT_UPDATE_RESTORED_FROM_DS to determine if the onpage value is on the update chain or not WT-6493 Retry processing update list if a prepared update is modified concurrently WT-6499 Ignore evict priority for btrees that are dominating cache usage WT-6508 Perform checkpoint cleanup on data store as part of checkpoint WT-6511 cursor join: explicitly advance the iterator when finished with a clause WT-6514 Fix description of eviction_updates_trigger in the documentation WT-6517 Update test_txn13 to avoid getting a rollback error WT-6519 Add testing coverage for mongodb-4.6 branch in compatibility test WT-6521 Don't perform checkpoint cleanup during server startup and shutdown phase WT-6527 When a thread cannot be allocated, return cleanly from WT API WT-6528 Remove offensive terminology in WiredTiger API and source code WT-6529 Use helper function in __rollback_abort_row_ondisk_kv WT-6533 No need to do obsolete check before inserting to history store WT-6539 Fix backup and rename memory leak WT-6543 Distinguish Evergreen artifacts links across restarts for testing tasks WT-6551 Avoid a timing problem at the beginning of a test for log preallocation WT-6552 Fix configure flags in evergreen.yml for failing PPC tests
* Import wiredtiger: 95e4b38eebbb4050b2144341c5f60e5a2f5c40b9 from branch ↵r4.4.0-rc12Luke Chen2020-07-021-2/+1
| | | | | | | | | | | | mongodb-4.4 ref: 5d5d26e79d..95e4b38eeb for: 4.4.0-rc12 WT-6453 Pin transaction ids for history store cursor operations WT-6465 Update config to avoid rollback error in Python tests WT-6480 Fix a bug where files without block modification information were repeatedly copied at each incremental backup WT-6487 Force pages to split in the case of lots of small updates on a page
* Import wiredtiger: cd0eca9e685e9ac2446e8e6d5b398b366a7ba420 from branch ↵Luke Chen2020-06-111-1/+1
| | | | | | | | | | | | | | mongodb-4.4 ref: 154719f3ff..cd0eca9e68 for: 4.4.0-rc10 WT-5916 Refresh snapshot without publishing ids after setting checkpoint timestamp WT-6319 Fix for corrupted encrypted item: padded size less than actual size WT-6368 Add format stress test as part of PR testing WT-6374 Ensure upgrade after an unclean shutdown works WT-6377 Fix cursor out-of-order on a cursor prev/next return WT-6392 Clean up core files properly for wt4156_meta_salvage test
* Import wiredtiger: cc2458c2c238b08db817161915d00d7e19c6ba29 from branch ↵Luke Chen2020-06-021-40/+0
| | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 943d9cdd2a..cc2458c2c2 for: 4.4.0-rc8 WT-6295 Aggregate time windows in salvage WT-6297 Increase data size for test_checkpoint04.py WT-6301 Add shorter running stress jobs WT-6323 Increase cache size in prepare unit tests to avoid rollback errors WT-6329 Add stats to track number of entries skipped by cursor next and prev WT-6332 Don't configure HS cursor walk with test/format in-memory configuration WT-6333 Fix memory leak in hs_cursor WT-6334 Coverity: Use return value when closing incremental backup cursor WT-6335 Formatting cleanups for history-store modify records WT-6336 Minor cleanup in test/format buffer handling WT-6337 Temporarily disable format's history store cursor scan WT-6338 Retrieve at least one key to ensure it's valid for HS cursor scan WT-6347 Don't reset transaction ids when evicting mixed mode tombstones and clear history store contents for mixed mode updates WT-6350 Immediately evict the pages that are read by rollback to stable WT-6352 Remove obsolete options from the wt verify API
* Import wiredtiger: 5a3c70d7e4990685eedf765f6909bbbf4f824d5c from branch ↵Luke Chen2020-05-221-3/+3
| | | | | | | | | | | mongodb-4.4 ref: 25c305c94d..5a3c70d7e4 for: 4.4.0-rc7 WT-6281 Salvage/Verify should not assert or panic in the case of corrupted page cells WT-6292 Fix the inconsistent prepare metadata value in checkpoint WT-6293 Fix memory leak caused during unpacking an on-page disk
* Import wiredtiger: 32b5f903dbc021b570feea50eb48453c17cd0e89 from branch ↵Luke Chen2020-05-181-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 90a2282276..32b5f903db for: 4.4.0-rc7 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-1/+1
| | | | | | | | | | | | | | mongodb-4.4 ref: 4cf221a61f..90a2282276 for: 4.4.0-rc7 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: 63b37d1861f396e09a76b69f9b786740709a6f8c from branch ↵Luke Chen2020-05-131-1/+15
| | | | | | | | | | | | | | mongodb-4.4 ref: bdff12c233..63b37d1861 for: 4.4.0-rc6 WT-4414 Only flush dirty data during checkpoints if logging is disabled WT-5543 Failed to open cursor on table that had writing failure on close WT-6075 Re-enable csuite-wt2323-join-visibility-test WT-6080 Add statistics to count frequency of saving validity window in the data store WT-6118 Fix missing checkpoint in backup WT-6136 Record incremental extent lists before merging them with earlier checkpoints
* Import wiredtiger: 404b4a70af14e7d3aecf7f206380884af5d06786 from branch ↵r4.4.0-rc5Luke Chen2020-05-081-0/+20
| | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 18dfb9e58e..404b4a70af for: 4.4.0-rc5 WT-6093 Fix and reenable test_random_abort in recovery-stress-test WT-6097 Let the Python test suite runner allocate tests to buckets for evergreen WT-6128 Reduce the data size in test_checkpoint04 so it completes quickly WT-6131 Add a test to verify checkpointing truncation in durable history WT-6137 Fix calculation of bits versus bytes for incremental bitmap WT-6138 Turn off non-timestamp testing in schema_abort WT-6141 Disable checkpoint deletion during backup WT-6142 Fix the assert with no more than one aborted update in chain WT-6144 Avoid configures verify_metadata in test/format when running on historic builds WT-6152 Fix accessing checkpoint durable timestamp including older version WT-6156 Enable format to select "backup.incremental=log"
* Import wiredtiger: 18dfb9e58e39927696affcd8e362364e23e1aa59 from branch ↵r4.4.0-rc4Luke Chen2020-05-061-29/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: a707df12a2..18dfb9e58e for: 4.4.0-rc4 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: 7b994a862e899a12eb7c3ac814c9fada7d8d1ab9 from branch ↵r4.4.0-rc2Luke Chen2020-04-221-5/+4
| | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 9bd1ece797..7b994a862e for: 4.4.0-rc2 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-2/+2
| | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: da6c25fee0..9bd1ece797 for: 4.4.0-rc2 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: 4500a8ed93af91b15901d00a9f9c2587f94275f9 from branch ↵Luke Chen2020-03-241-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: f6ab94b43b..4500a8ed93 for: 4.4.0-rc0 WT-5616 Coverity: Memory leak 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-5754 Ensure the value is globally visible before encode it into WT_ROW WT-5813 Fix heap-use-after-free in __split_parent WT-5855 Clean up operation tracking documentation 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-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-5910 Fix start_durable_ts when handling out-of-order updates
* Import wiredtiger: 187983a50c696eb217a780bb6b29e4bd3433c13b from branch ↵Luke Chen2020-03-151-43/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.4 ref: 7e595e4a3a..187983a50c for: 4.4.0-rc0 WT-3821 Python test case fails due to pinned timestamp warning WT-4458 Only sweep btree handles that have been evicted from cache 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-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-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-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 Remove develop-timestamp and add test for 4.0 and 4.2 pair to compatibility_test_for_mongodb_releases.sh after merge durable history to develop 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 Core dump is generated when running test_random_abort or test_random_direcio run on durable history branch 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-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-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-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-5640 test_wt2323_join_visibility fail when processing consecutive tombstones in __wt_hs_insert_updates 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-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 Set aspell dictionary to en_US 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-5722 Incremental backup should do a name check on identifiers 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-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-5786 Detect if a file is too small to read a descriptor block WT-5792 Dump and verify can't see the history store WT-5795 Disable assertion that inserts to the history store are unique WT-5798 Check that the history store file exists before performing rollback to stable 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-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-5827 Enable test_schema_abort WT-5830 Enable two c tests in evergreen
* Import wiredtiger: d74cb1a91399e1197a95667502002ffed2b7b82b from branch ↵Luke Chen2020-02-121-1/+3
| | | | | | | | | | | | | | | | | | 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: 94c6c16014292f335a5094669e850125d7432b14 from branch ↵Luke Chen2020-02-071-1/+207
| | | | | | | | | | | | | mongodb-4.4 ref: 168c7f1b38..94c6c16014 for: 4.3.4 WT-4999 Migrate Jenkins “wiredtiger-test-format-stress-zseries” job to Evergreen WT-5206 Return the correct checkpoint-modified list of blocks WT-5489 page-read can race with threads locking in-memory page structures WT-5534 Incremental backup needs to accept older metadata WT-5537 Use correct WT_ITEM fields per memory sanitizer
* Import wiredtiger: d44b1af8a84ef93d9857432c9af5ef3b3adc8bdd from branch ↵Luke Chen2019-11-181-33/+39
| | | | | | | | | | | | | | | | | | | | | | | | | 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: af2cb8f052184a94635c3bfc358620dd36df5828 from branch ↵Luke Chen2019-10-151-24/+17
| | | | | | | | | | | | | | | | 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: 7dfd9391862bc9a6d84868c4dc51689c45a3aacf from branch ↵Luke Chen2019-08-211-580/+527
| | | | | | | | | | | 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: b50d65e8560446e2cd205594e07bbcaa2305b144 from branch ↵Luke Chen2019-07-051-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+2
| | | | | | | | | | | | | 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-68/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: d9ec69f9111b036ee0b19b47368e15bff8d4818d from branch ↵Luke Chen2019-05-071-25/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 9416282c42d40328dfb7ff0f28831f639f98d3cb from branch ↵Luke Chen2019-04-161-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-4.2 ref: 1768d66613..9416282c42 for: 4.1.11 WT-4317 Read checksum error in test_wt4156_metadata_salvage WT-4579 Track the newest durable timestamp for each page WT-4585 Add WT_WITH_HOTBACKUP_LOCK macro WT-4598 Enable the assertion that the durable_timestamp is newer than or equals the commit timestamp. WT-4640 Remove round_to_oldest in favour of roundup_timestamps WT-4695 Python3: allow most tests to run with Python3 with small changes WT-4696 Python3: change dist scripts to run under Python3 WT-4698 Python3: fix modify related tests WT-4699 Python3: fix test_jsondump02.py WT-4700 Python3: run with same source as Python2 WT-4703 Extend test/checkpoint to do removes and online checking WT-4704 Add statistic tracking oldest active read timestamp WT-4705 column-store no longer needs to handle WT_COL page offsets of 0 WT-4707 Failure in verifying cells with copied values WT-4708 Coverity reported copy-paste error in WiredTiger error message WT-4711 Python formatting errors reported while running "s_all" WT-4714 Use the durable timestamp to determine if a page should stay dirty WT-4724 Syntax error in wtperf_ckpt.sh when running 'dash' as default shell
* Import wiredtiger: bb36cf83cd952262af49a589d15940a8c865174c from branch ↵Luke Chen2019-03-181-12/+4
| | | | | | | | | | | | | | mongodb-4.2 ref: 82c3f83aca..bb36cf83cd for: 4.1.10 WT-4618 Don't hijack other sessions in __wt_verbose_dump_txn WT-4620 Assert a uint64_t can hold a time_t, maintain seconds as uint64_t WT-4627 Coverity #111405: out-of-bounds overrun WT-4628 Don't reopens the tracking file on each call in test-utility-progress function WT-4638 Remove legacy variables from the __wt_cache structure WT-4641 Return errors when test/format verify failures
* Import wiredtiger: 82c3f83acae289e0ada5ab4e7fe549e47af1078e from branch ↵Luke Chen2019-03-081-0/+1
| | | | | | | | | | | | | 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: 37e1570f8205f3e2d32a7abef6d0e8b09421f3ad from branch ↵Luke Pearson2019-02-191-23/+47
| | | | | | | | | | | | mongodb-4.2 ref: 94c514c558..37e1570f82 for: 4.1.9 WT-4516 Change WT data format to include timestamps in checkpoints WT-4578 test/format should drop core even when deadlocked WT-4588 test/format should drop core even when Jenkins or connection terminates WT-4592 OS X build platform doesn't support timer_create() and timer_settime()
* Import wiredtiger: 1e7f5178b3e28d1f22d3f23cb632ba45b56d0091 from branch ↵Luke Chen2019-01-211-1/+1
| | | | | | | | | | | mongodb-4.2 ref: 2183883231..1e7f5178b3 for: 4.1.8 WT-4491 Change WT data format to include timestamps in internal page address cells WT-4520 Fix prepare transactions fallout during cursor navigation WT-4528 Retry Windows functions on access denied
* Import wiredtiger: fa402fef1974b30ef61770caff58b0eabda97781 from branch ↵Luke Chen2019-01-101-1/+1
| | | | | | | | | | | | | 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: 74aa2f92a95596196d8ff131cdf015850613c893 from branch ↵Luke Chen2018-11-261-5/+4
| | | | | | | | | | | | | | 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: 7db12ec1b5b1843364ae28248b0680b816aab651 from branch ↵Luke Chen2018-09-181-1/+1
| | | | | | | | | | | | | | mongodb-4.2 ref: 45fd19bcb1..7db12ec1b5 for: 4.1.4 WT-3736 Add statistics to measure contention on lookaside cursor WT-4185 Don't remove all lookaside entries when reading a page WT-4225 Automate a backup test that simulates volume snapshot via dd WT-4308 Insert split during sync should not free blocks WT-4321 Disable the random direct I/O test WT-4325 Add a WiredTiger-local version of the qsort(3) call
* Import wiredtiger: 5fc85c47caba5dbd4fc49ad6fa924fee4e3d5695 from branch ↵Kelsey Schubert2018-04-131-16/+43
| | | | | | | | | | | mongodb-3.8 ref: 5bfcc92407..5fc85c47ca for: 3.7.4 WT-3959 Recovery timestamp set on restart scenarios need addressing WT-4032 parent pages can be evicted while being split. WT-4034 Re-entering eviction can result in checkpoint corruption
* Import wiredtiger: 8f5b5544d8e2ca861956a255cf079b3ad34ca0f3 from branch ↵Luke Chen2018-02-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.8 ref: a6e72378a6..8f5b5544d8 for: 3.7.3 WT-1228 Improve performance of WT_SESSION::open_cursor WT-3805 Avoid reading lookaside pages in truncate fast path WT-3829 WiredTiger metadata can be logically inconsistent. WT-3848 Enhance new prepare transaction API to enforce post conditions WT-3850 Implement WT_SESSSION::prepare_transaction WT-3867 Bi-weekly WT codebase lint WT-3901 Corruption of operation tracking log files WT-3904 Reconsider error path in log server thread WT-3905 Save the timestamp used for a checkpoint WT-3912 fast-delete pages should re-instantiate the delete transaction's timestamp. WT-3923 __wt_txn_context_prepare_check() requires API initialization WT-3925 Fix test format operation selection code WT-3926 Allow read_timestamp to be set after begin_transaction WT-3927 LSM truncate operations are too slow. WT-3932 WiredTiger memory allocation failure in js_test WT-3933 test/format failure illegal WT_REF.state rolling back deleted page
* Import wiredtiger: 9e5044823185feffa71e56a6593cfb92e0741a41 from branch ↵Luke Chen2018-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.8 ref: 1a29eac4dc..9e50448231 for: 3.7.1 WT-2705 High throughput cache bound many threaded workloads can experience long latencies WT-3725 Add statistics to locks around timestamp structures WT-3750 Fast-path fs_directory_list of a single file. WT-3768 Lookaside optimization: birthmarks WT-3769 Fix a bug in reverse cursor walks with particular delete patterns and prefix compression enabled WT-3779 Add support for string formats with WT_CURSOR::modify WT-3800 test_wt2834_join_bloom_fix hang WT-3806 Make sure rdtsc values move forward in time WT-3807 clang static analysis updates WT-3810 wt_rdtsc calibration needs to be longer and verify validity WT-3812 debugging page output should handle complex key/value items. WT-3816 Enable prefix compression on the lookaside table WT-3819 clang static analysis improvements WT-3820 Add a WT_SESSION.breakpoint method for Python debugging. WT-3822 Update WiredTiger copyrights to 2018 WT-3824 tsc_nsec_ratio can compute to zero and cause divide by zero bug
* Import wiredtiger: 6173a98979715ed727c432c1a31da64ea8a37048 from branch ↵Alex Gorrod2017-07-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: ff10db8811..6173a98979 for: 3.5.11 WT-3039 Enhance logging so new log files no longer need to wait for the previous log file to be synced WT-3138 Enhance eviction statistics WT-3140 Enhance json mode statistics to better support per-dhandle statistics WT-3310 Add support to WT_SESSION::alter to change table log setting WT-3329 With a uniform workload and a number of small collections, eviction does a poor job of selecting candidates for eviction. WT-3381 Improve concurrency in the transaction subsystem WT-3394 Build WiredTiger with gcc7 WT-3396 test/csuite/wt3363_checkpoint_op_races, test_utility cleanups WT-3397 Coverity lint WT-3398 in-memory configurations don't support schema_worker operations WT-3401 Lint and minor cleanup WT-3402 Move cached overflow records to the update list. WT-3403 Automated tests timeout running csuite WT-3409 WiredTiger generations can silently self-deadlock. WT-3413 Add more aggressive compile warning flags to Jenkins Windows job WT-3415 setting timestamp in txn_state requires the global write lock WT-3421 Compilation error unreachable code in test/csuite/wt3363_checkpoint_op_races WT-3424 additional gcc 7.1 compile warnings. WT-3425 workgen: add ability to reopen cursors WT-3426 Add new wtperf configuration to automated performance testing WT-3438 Don't tune eviction thread count when the count is fixed Also explicitly disable v2 log records via a configuration setting in MongoDB - this will later be plumbed into the feature compatability version mechanism.
* Import wiredtiger: 7aaeaaa054d1ac27a95c79984f7ca69ba739caae from branch ↵Alex Gorrod2017-06-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 78109ca3fe..7aaeaaa054 for: 3.5.9 SERVER-28820 Recovery failed: WT_NOTFOUND: item not found SERVER-28835 Fix a memory leak in WiredTiger on error when creating thread group WT-2972 Add interface allowing partial updates to existing values WT-3041 Failure of test_perf01 on PPC WT-3063 Reserve records for read-modify-write WT-3076 Add a general-purpose epoch manager WT-3123 Thread group holding lock across thread join WT-3142 Add a workload generator application WT-3158 Fix structure layout on Windows. WT-3160 Improve eviction of internal pages from idle trees WT-3197 aarch64 CRC32C support fails to compile on non-linux ARM platforms WT-3219 Make the clang-analyzer job fail when lint is introduced WT-3222 Review and enhance log statistics WT-3245 Avoid hangs on shutdown when a utility thread encounters an error WT-3247 Test should exit instead of abort to avoid a core dump WT-3248 Performance degradation in workload with large overflow items WT-3253 txn07 test problem WT-3258 Improve visibility into thread wait time due to pages exceeding memory_page_max WT-3261 add a checkpoint epoch to avoid draining the eviction queue WT-3262 Schema operations shouldn't wait for cache WT-3263 Allow archive on restart/recovery if clean shutdown WT-3264 Permanent change to disable logging should eventually remove all logs WT-3265 Verify hits assertion in eviction when transiting handle to exclusive mode WT-3266 Thread group deadlock WT-3267 Upgrade copyright notices from 2016 to 2017. WT-3268 Failure to close cursor can get wiredtiger stuck in a cursor-close loop WT-3269 Miscellaneous cleanup changes WT-3271 Eviction tuning stuck in a loop WT-3275 stress test sanitizer failure WT-3278 log the row-store cursor key instead of page key WT-3281 stress test sanitizer failure WT-3282 Stuck in conn cache pool destroy join WT-3284 tree-walk restart bug WT-3287 review WiredTiger internal panic checks WT-3288 fix error codes for event_handler to be consistent in file operations WT-3292 review/cleanup full-barrier calls in WiredTiger WT-3293 Make internal symbols externally visible WT-3296 LAS table fixes/improvements WT-3297 support the gcc/clang -fvisibility=hidden flag WT-3300 Coverity 1374542: Dereference after null check WT-3302 Failure to create cache pool manager thread results in crash when destroying cache pool WT-3303 Deadlock during first access to lookaside table WT-3307 FI testing: segfault in python test test_bug013 when fault introduced reading turtle file WT-3312 encryption btree configuration test WT-3313 Replace calls to the deprecated LZ4_compress function WT-3314 clarify error handling WT-3327 Checkpoints can hang if time runs backward WT-3331 Test format aborted due to time rollback WT-3333 Make it possible to store 0 bytes into a 'u' format via Python WT-3334 static test suite's BaseDataSet class has 'u' value format bugs WT-3339 The CURSOR_UPDATE_API_CALL macro will dump core on a NULL btree handle WT-3342 Create a new WiredTiger 2.9.2 release WT-3343 WiredTiger database close can attempt unlock of a lock that's not held. WT-3345 Improve rwlock scaling WT-3348 Lint, Windows warnings. WT-3351 Recovery assertion failure: old_lognum < lognum WT-3354 Coverity issues 1375904-1375907 WT-3356 rwlock assertion failure on PPC
* Import wiredtiger: af735d14a603a6ef6256a6685f09ec13755a5024 from branch ↵Alex Gorrod2017-04-011-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: cc2f15f595..af735d14a6 for: 3.5.6 SERVER-28168 Cannot start or repair mongodb after unexpected shutdown. SERVER-28194 Missing WiredTiger.turtle file loses data WT-2439 Enhance reconciliation page layout WT-2978 Make WiredTiger python binding pip-compatible WT-2990 Fix a new bug where checkpoint load live_open failed WT-3136 bug fix: WiredTiger doesn't check sprintf calls for error return WT-3155 Remove WT_CONN_SERVER_RUN flag WT-3182 Switch make-check to run the short test suite by default WT-3190 Enhance eviction thread auto-tuning algorithm WT-3191 Fix lint complaints WT-3193 Close a race between verify opening a handle and eviction visiting it WT-3196 Race with LSM and eviction when switching chunks WT-3199 bug: eviction assertion failure WT-3202 wtperf report an error on in_memory=true mode : No such file or directory WT-3203 bulk-load state changes can race WT-3204 eviction changes cost LSM performance WT-3206 bug: core dump on NULL page index WT-3207 Drops with checkpoint_wait=false should not wait for checkpoints WT-3208 test format hung with 9mb cache WT-3211 WT_CURSOR.remove cannot always retain its position. WT-3212 'wt dump' crashes when given table with unknown collator WT-3213 generated test/format CONFIG invalid on next run WT-3216 add support for clang-tidy WT-3218 unexpected checkpoint ordering failures WT-3224 LSM assertion failure pindex->entries == 1 WT-3225 WiredTiger won't build with clang on CentOS 7.3.1611 WT-3227 Python test suite inserts unnecessary whitespace in error output. WT-3228 Remove with overwrite shouldn't return WT_NOTFOUND WT-3234 Update WiredTiger build for clang 4.0. WT-3238 Java: Cursor.compare and Cursor.equals throw Exceptions for valid return values WT-3240 Coverity reports WT-3243 Reorder log slot release so joins don't wait on IO WT-3244 Metadata operations failing in in-memory configurations when the cache is full WT-98 Update the current cursor value without a search