summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger
Commit message (Collapse)AuthorAgeFilesLines
* Import wiredtiger: a6e72378a60249228730667a2cba9a90c454b786 from branch ↵Luke Chen2018-02-0854-632/+1462
| | | | | | | | | | | | | | | | | | | | | | mongodb-3.8 ref: 06a940e28a..a6e72378a6 for: 3.7.2 WT-3766 Lookaside sweep for obsolete updates WT-3840 Dump more information when data corruption is encountered WT-3847 Add a stub API for prepared transaction WT-3854 Remove write lock from commit path, leaving old entries in queue WT-3866 Bi-weekly WT codebase lint WT-3877 WT_CONN_EVICTION_NO_LOOKASIDE is cleared unconditionally WT-3878 Iteration can lose its position when updating a limbo page WT-3881 key timestamp consistency checking should not check its own updates WT-3887 log operations in format snapshot-isolation tracking WT-3888 cursor search-near can return the wrong value for "exact" WT-3889 format key-order return failure in LSM WT-3890 core dump walking timestamp queue WT-3891 Take the sweep walk rwlock whenever removing content from lookaside WT-3895 Commit timestamp queue getting out of order
* SERVER-32373 wiredtiger/SConscript conf.CheckFunc with headersGabriel Russell2018-01-311-2/+2
|
* Import wiredtiger: 06a940e28a0e174adb979600302696a3e126e846 from branch ↵Luke Chen2018-01-307-11/+21
| | | | | | | | | | mongodb-3.8 ref: 780756acc2..06a940e28a for: 3.7.2 WT-3875 Collisions in operation tracking map file when a connection is reopened within the same process. WT-3876 Missing tracking macros cause inaccuracies in operation tracking logs
* Import wiredtiger: 780756acc2522d4bcf5f6c6c605ed5fcb77b9548 from branch ↵Luke Chen2018-01-2524-269/+686
| | | | | | | | | | | | | mongodb-3.8 ref: fc383862a7..780756acc2 for: 3.7.2 WT-3852 Update debugging when committing at an earlier timestamp WT-3863 Record the clock frequency in the optrack log file, so we can convert CPU cycles to nanoseconds when decoding the files. WT-3865 avoid cache misses in WiredTiger tree-walk and hazard functions WT-3871 format should read from a timestamp WT-3874 Use custom collator for diagnostic verification of keys
* Import wiredtiger: fc383862a729667bdd4011c363601c180f848d65 from branch ↵Luke Chen2018-01-2312-246/+327
| | | | | | | | | | | | | | | mongodb-3.8 ref: 357efdd4ce..fc383862a7 for: 3.7.2 WT-3074 Automate a test to stress eviction walk with many active trees WT-3799 Test/format with timestamps enabled pin cache full WT-3835 cursor remove tries to return a key that doesn't exist WT-3846 Refine operation tracking visualization tool WT-3853 LSM version 1 metadata incompatibility WT-3860 Fix a list of lint issues WT-3862 Remove invalid diagnostic assertion during reconciliation
* Import wiredtiger: 357efdd4ce279efc71ff618c59fe1b903ef80bb2 from branch ↵Luke Chen2018-01-1789-983/+2887
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.8 ref: 9e50448231..357efdd4ce for: 3.7.2 WT-3565 Test and understand mixed timestamp/no-timestamp usage to same data WT-3597 Add a diagnostic check for updates to the same key out of timestamp order WT-3632 Increase how granularly cache usage settings can be configured WT-3695 format failed to report a stuck cache WT-3740 race in page dirty-byte decrement. WT-3767 Avoid lookaside instantiation for faster reads WT-3775 Improve commit timestamp is older than oldest timestamp error message WT-3792 LSM version 1 metadata incompatibility WT-3796 Report a better error message if transaction commit fails WT-3799 Test/format with timestamps enabled pin cache full WT-3809 Fix a bug in lookaside related to birthmarks WT-3811 Python scripts for visualizing operation tracking files WT-3818 __rec_txn_read() code order cleanup WT-3825 Fix calculation of CPU ticks per unit time WT-3826 random-abort test failure WT-3827 test_compact02 failure WT-3828 Link error on OS/X for __wt_process data reference WT-3831 uninitialized buffer value in statlog server path comparison WT-3832 Fixup shell script warning messages WT-3833 test/format cache_minimum value error WT-3841 Fix error message pattern in timestamp09 WT-3842 full-build Friday & lint WT-3844 Checkpoints can hang on limbo pages WT-3845 Compiler warning in examples using GCC 5.4.0
* SERVER-32649 WiredTiger fails on non-x64 builds of new GCCMark Benvenuto2018-01-161-1/+2
|
* Import wiredtiger: 9e5044823185feffa71e56a6593cfb92e0741a41 from branch ↵Luke Chen2018-01-05696-1656/+2820
| | | | | | | | | | | | | | | | | | | | | | | | 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: 1a29eac4dc8cf82de437292da546e3f4039268a4 from branch ↵Luke Chen2017-12-14114-1069/+2390
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.8 ref: 596a3c7c01..1a29eac4dc for: 3.7.1 WT-3079 Make sure eviction visits all trees WT-3133 Detect or track long latency operations WT-3295 Allow LSM to merge into custom data sources WT-3587 Remove HAVE_VERBOSE conditional compilation WT-3654 Fix warning in Windows build on evergreen WT-3716 Restore the WT_VERB_TEMPORARY verbose flag. WT-3720 flags macros cast flags to unsigned values, hiding warnings. WT-3732 Handle adding WT indices while cursors on the table are open WT-3734 Fix undefined behavior in verbose output WT-3738 Review internal session allocation accounting WT-3753 Building on Windows --enable-java WT-3772 Hot backup causes uncontrolled growth of WiredTigerPreplog files WT-3774 Enhance Python lookaside testing to cover cursor modify WT-3776 Cursor remove operation unpins page too early WT-3780 Improve error messages on invalid WT_CURSOR::modify usage WT-3783 Fix transaction isolation to use the correct enum WT-3786 Transactions with timestamps should read their writes WT-3787 test_compact02 failed as compaction halted due to eviction pressure WT-3790 Switch statistics to rdtsc from epoch calls WT-3793 WiredTiger page debug dump functions should unpack integer keys WT-3794 Coverity 1383547 and lint WT-3795 lint cleanups for the op-tracking software, reduce record write size.
* Import wiredtiger: 596a3c7c0169cbda0475bfbd4b177fdbf3258058 from branch ↵Alex Gorrod2017-12-077-59/+131
| | | | | | | | | | | mongodb-3.8 ref: 6dcff54e40..596a3c7c01 for: 3.7.1 WT-3079 Make sure eviction visits all trees WT-3776 Cursor remove operation unpins page too early WT-3786 Transactions with timestamps should read their writes
* Import wiredtiger: 6dcff54e40ce18729d14a9e96b1cbcb4fbc331fe from branch ↵Ramon Fernandez2017-11-2912-72/+127
| | | | | | | | | | | | mongodb-3.8 ref: bc0337ed00..6dcff54e40 for: 3.7.1 WT-3763 Tune eviction algorithm when cache overflow is in use WT-3764 Evict pages faster when doing non-cache-disruptive walks WT-3765 Python tests failed due to crash WT-3773 Reconciling a page with modify records and lookaside can choose wrong values
* Import wiredtiger: bc0337ed0085ea2d7b00f73deb2f726b4ffbee1b from branch ↵Luke Chen2017-11-2414-30/+86
| | | | | | | | | | | | mongodb-3.8 ref: d1027489d8..bc0337ed00 for: 3.7.1 WT-3607 Compact skips all in-cache blocks with associated disk images WT-3658 Fixed-sized strings can be stored without a trailing NUL WT-3761 Review when cursor operations force evict pages WT-3762 Allow the oldest_timestamp to be moved backwards.
* Import wiredtiger: d1027489d8e1fdf86e5beec210eb5315abe4105d from branch ↵Luke Chen2017-11-226-34/+92
| | | | | | | | | | | | | mongodb-3.8 ref: fd0c611577..d1027489d8 for: 3.7.1 WT-3751 Allow pages to split when nothing is visible WT-3752 WiredTiger can walk long update chains for hot rows. WT-3754 serial updates to the oldest should consider pinned timestamp for visibility WT-3758 Turn on the snappy compression for the lookaside table WT-3760 Avoid writing overflow values into the lookaside file
* Revert "Revert "Import wiredtiger: fd0c611577e38687455cee311cc279bec16651ea ↵Greg McKeon2017-11-1725-357/+486
| | | | | | from branch mongodb-3.8"" This reverts commit 770b4bfe6d7f11d50d79fab08c0764a8e6b866fe.
* Revert "Import wiredtiger: fd0c611577e38687455cee311cc279bec16651ea from ↵Greg McKeon2017-11-1725-486/+357
| | | | | | branch mongodb-3.8" This reverts commit d303ef9ba44fb7dfeb41c8b975e761c184d1d4b5.
* Import wiredtiger: fd0c611577e38687455cee311cc279bec16651ea from branch ↵Ramon Fernandez2017-11-1725-357/+486
| | | | | | | | | | | mongodb-3.8 ref: ce5ee5097b..fd0c611577 for: 3.7.1 WT-3444 Test format on PPC fails with ENOTSUP when performing an update on an LSM tree WT-3745 Don't stall reads due to write pressure WT-3746 Don't busy wait when syncing the log and waiting for writes to complete
* Import wiredtiger: ce5ee5097b499fb1bfa8a7ccb20e1618b68b3378 from branch ↵Luke Chen2017-11-132-2/+4
| | | | | | | | | mongodb-3.6 ref: 3a8316e86e..ce5ee5097b for: 3.6.0-rc4 WT-3743 Access violation in lookaside sweep
* Import wiredtiger: 3a8316e86e9c7cd379679d8530ecc54ad9bdf5c1 from branch ↵Luke Chen2017-11-1358-366/+1014
| | | | | | | | | | | | | | | mongodb-3.6 ref: 0a2f8f6ad7..3a8316e86e for: 3.6.0-rc4 WT-3637 Fix a heap use after free from evicting of a page that just split. WT-3648 Fix timestamp_abort test calculation of the oldest timestamp WT-3696 Add diagnostic code to detect when sessions are in use by multiple threads WT-3710 Fix a race condition between concurrent page splits WT-3715 Performance tuning for cache overflow mechanism WT-3717 Add a diagnostic verbose lookaside mode WT-3730 For simple tables, do not use table dhandle after it is released
* Import wiredtiger: 0a2f8f6ad756189263d050b29f69bc57b45b9816 from branch ↵Luke Chen2017-11-0371-1033/+1207
| | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: a31e9d415a..0a2f8f6ad7 for: 3.6.0-rc3 WT-3223 Output progress messages during long checkpoint operations WT-3630 Intermittent failure loading libwiredtiger in Evergreen OSX job WT-3652 Skip lookaside reads for checkpoints without a timestamp WT-3666 Fix lost updates with lookaside eviction WT-3675 timestamp abort test failure WT-3677 test/format compaction doesn't handle timeout error return WT-3679 Python test suite: when 'wt' fails, display its output and error files WT-3680 metadata unroll should discard in-process checkpoints WT-3681 Don't truncate the last log file in recovery WT-3683 WT tests failing with cache full of clean pages WT-3699 support minimum cache sizes in format WT-3705 Full build Friday and lint WT-3707 timestamp_abort updating timestamp out of order and parent process not handling failure WT-3708 PRIu64 format incorrectly specified for size_t WT-3711 random_abort test needs signal handler change WT-3713 Make timestamp abort test output more concise WT-3714 Make timestamp_abort and random_abort ranges readable
* Import wiredtiger: a31e9d415a25561bd36b001f3a6e9b0a6a115236 from branch ↵Michael Cahill2017-10-2559-332/+602
| | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 4ecdb8f1a3..a31e9d415a for: 3.6.0 WT-3235 Fix typo in test case to cover more LSM use cases WT-3257 Need unit test for log recover setting WT-3585 Add an API to allow read timestamp to round up to oldest WT-3596 Timestamp documentation incomplete WT-3598 Open cursor should not to set transaction error on failure WT-3616 format failed to report a stuck cache WT-3629 Cache accounting underflow checks and logging WT-3640 Change bytes-read statistic WT-3643 Recovery does not run after database opened with recover=error WT-3667 Timestamp tests that take backups should pass log=(archive=false) WT-3669 Check for aborted updates during reconciliation WT-3672 Test format failure with commit timestamp older than oldest WT-3673 Opening the lookaside table can race with the statistics server WT-3674 Snapshot isolation failure after update/restore eviction
* Import wiredtiger: 4ecdb8f1a327067a178258ad025806eeefc1267b from branch ↵Luke Chen2017-10-1936-529/+775
| | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 4b5ade6072..4ecdb8f1a3 for: 3.6.0-rc1 WT-3553 Change test utility error handling to abort rather than exit WT-3611 Backup comment doesn't match the code. WT-3619 Make compaction more aware of checkpoints and eviction WT-3635 Coverity 1381606 & Friday builds & lint. WT-3650 test_timestamp07(table-cg.nolog.1000keys) WT-3651 Reduce runtime of Python lookaside test WT-3655 Don't dirty pages to induce lookaside eviction WT-3657 Timestamp and lookaside related automated test failures WT-3660 WiredTiger documentation refers to WT_CURSOR::first. WT-3662 Write lookaside after reconciliation has succeeded WT-3663 lookaside records ignored unless a backing disk block written WT-3665 change format to configure the WiredTiger checkpoint thread
* Import wiredtiger: 4b5ade6072d548fdebe3b376f94e0d672eea5359 from branch ↵r3.6.0-rc0Ramon Fernandez2017-10-1221-127/+266
| | | | | | | | | | | | mongodb-3.6 ref: 0cd3d5bbd8..4b5ade6072 for: 3.5.14 WT-3644 Port to FreeBSD release 11.1 WT-3645 Build Failed: Lookaside file occupies 10MB of 11MB cache size WT-3646 Only use lookaside when operations are blocked waiting for cache WT-3649 Disable lookaside eviction during close
* Import wiredtiger: 0cd3d5bbd8a5c8779f1129c6754b4463403e788f from branch ↵Alex Gorrod2017-10-1095-1644/+3140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 6f561957cb..0cd3d5bbd8 for: 3.5.14 WT-3200 LSM bug: Failed lookup in bloom filter. WT-3435 Lookaside eviction should be able to save unstable updates WT-3453 Enhance lookaside table test coverage in Python suite WT-3559 Detect when a checkpoint races with metadata changes WT-3579 Enhance support for running wtperf workloads with workgen WT-3582 Cache stuck full of internal pages WT-3593 Add an API to enforce consistent use of timestamps (#3667) WT-3599 reconciliation calculates block matching checksums too frequently. WT-3600 timestamp API lets you set timestamps with invalid characters WT-3612 Improve documentation of durability with backup cursors WT-3613 test/format cache full with LSM WT-3618 WT remove solaris from evergreen builds WT-3620 POSIX thread attribute structures must be destroyed WT-3621 Add test for full backups with concurrent table creation WT-3622 Allow upper case hexadecimal timestamps WT-3627 test_txn14.test_txn14.test_log_flush timeout WT-3631 Convert timestamps to integers in Python tests before comparing WT-3636 Account for page image sizes in cache consistently WT-3638 format failure, update list without complete visible record WT-3639 Test/format tried to drop named checkpoints during a hot backup WT-3641 Track maximum timestamp used in each btree WT-3642 Avoid lookaside reads for dead trees
* SERVER-31215 Enable pthread cond monotonic in Linux on WTLouis Williams2017-10-061-0/+3
|
* Import wiredtiger: 6f561957cb5606f504f9fe5a124c80386b210b1a from branch ↵Alex Gorrod2017-10-03254-498422/+3773
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: e2c927fa58..6f561957cb for: 3.5.14 WT-3230 automatic style checking: function local variable declarations WT-3252 Remove the reconciliation WT_BOUNDARY structure. WT-3430 Add statistics tracking transaction ID/timestamp queue usage WT-3437 Evaluate improvements to tuning of number of eviction workers WT-3449 Get the Helium software running again. WT-3457 Enhance checkpoint scrub algorithm WT-3468 Ensure time comparison is done in thread-safe manner WT-3474 Extend Python timestamp rollback test case WT-3510 Add tests to check different sized timestamps and timestamps turned off WT-3511 Add test for timestamp changing partway during a multi-step transaction WT-3512 Add tests to catch improper usage of timestamp API WT-3524 Test format likely to pin cache full when enabling timestamps WT-3533 eviction handle walk can race with handle re-open WT-3537 Split pages when nothing can be written WT-3543 Ensure that failed checkpoints cleanup properly WT-3555 Streamline open cursor for tables WT-3556 remove wtstats support from WiredTiger WT-3557 Make test/format ignore unknown keywords WT-3561 test/recovery hangs with timestamps disabled WT-3571 clsm_open_cursors() set incorrct chunk->count WT-3572 format should limit runs to 6 hours. WT-3574 timestamp abort does not need to increment with atomic op WT-3575 ASCII statistics log printing WT-3576 Update test_timestamp09 to use integer comparison of timestamps WT-3578 Failed to parse oldest timestamp '0': zero not permitted WT-3581 format: unexpected checkpoint resolution WT-3588 test/format references freed memory. WT-3589 replace return checks and testutil_die() pairs, with testutil_check(). WT-3590 Keep data consistent if writes fail during a clean shutdown WT-3595 Make sure the Python example gets the right _wiredtiger.so WT-3601 Coverity 1381365: bt_split.c:__split_ref_move() resource leak WT-3602 compatible=(release=2.9) is insufficient for downgrading to 2.9 WT-3603 format threads always traverse the same RNG space. WT-3605 LSM doesn't support type 'r' WT-3606 reconfigure compatibility error paths leave system in modified state WT-3609 Coverity 1381438: change __wt_panic to handle a NULL session argument WT-3610 Relax commit timestamp ordering check WT-3614 Full-build Friday lint
* SERVER-30300 Changes to allow build to work with SCons 3.0. Entirely changes ↵William Deegan2017-09-141-1/+1
| | | | | | to print calls Signed-off-by: Andrew Morrow <acm@mongodb.com>
* Import wiredtiger: e2c927fa58e275468909deae274ad245e3696a3c from branch ↵Alex Gorrod2017-09-012-1/+11
| | | | | | | | | mongodb-3.6 ref: bacc9ada53..e2c927fa58 for: 3.5.13 WT-3558 MongoDB test case failing with assertion during checkpoint
* Import wiredtiger: bacc9ada53a46128642343c162a993d15bc80b57 from branch ↵Alex Gorrod2017-08-31104-1405/+1676
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: b055251678..bacc9ada53 for: 3.5.13 WT-3386 Fix test/checkpoint with timestamps WT-3454 Enhance Python test_timestamp03 to test with logged and non-logged tables WT-3476 Make tables first class data handles WT-3495 Don't allow log truncation if log cursors are open WT-3516 Some potential cursor open performance improvements WT-3522 Coverity 1379736, full build Friday lint WT-3523 Fix incorrect use of configure API in test format WT-3525 test_timestamp07 failing automated testing on develop WT-3527 Use power of two hash table size WT-3528 Don't allow setting a commit timestamp on a non-running transaction WT-3529 Add undocumented debug API WT-3535 Fix ASAN build on Jenkins WT-3536 Enable more strict compiler options for clang WT-3538 Misaligned reads when using the lookaside table and timestamps WT-3539 Enhance documentation around APIs that need exclusive handle access WT-3540 Test failure running recovery test case WT-3541 Python test_reconfig02 timeout on the PPC WT-3542 Python test_stats_log_on_json_with_tables timeout on the PPC WT-3544 WT rollback_to_stable hits "memory stomping bug" WT-3545 Avoid array-bounds warnings with gcc 7 WT-3546 Coverity 1380021 dereference before NULL check, lint WT-3547 Hang in test/fops on LSM table read lock WT-3549 Deadlock in test_schema03 WT-3550 Minor output changes to debug_info
* SERVER-28620 Adorn all oplog writes with timestampsEric Milkie2017-08-221-0/+4
| | | | | | | These timestamps are now used to implement oplog visibility rules, in place of the current in-memory vector of uncommitted ops that the WiredTiger glue code currently uses. This change also introduces a TimestampedBSONObj class, which encapsulates a BSONObject with its associated write timestamp.
* Import wiredtiger: b055251678e6b4fcc74a1f651432aadbfeecc0e4 from branch ↵Alex Gorrod2017-08-2164-901/+2567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 698847557c..b055251678 for: 3.5.12 WT-3328 Enhance docs around when schema operations can get EBUSY WT-3358 LSM will hang if the manager fails to start WT-3365 Understand how timestamps interact with LSM chunk switching WT-3399 Add new checkpoint blocking test case to automated testing WT-3417 Drain transactions during upgrade/downgrade. WT-3441 test_timestamp01 doesn't account for a large WT_TIMESTAMP_SIZE WT-3450 Add verbose option that tracks timestamp state and information WT-3452 Enhance existing recovery test to exercise timestamp API WT-3455 Enhance eviction to be aware of stable timestamp WT-3459 Test WiredTiger with clock shifting WT-3460 Add support for rollback_to_stable to column store WT-3465 Optimize performance when timestamp size is 8 bytes WT-3483 WT_SESSION::checkpoint returning WT_ROLLBACK WT-3492 ex_all.c not calling transaction_ops WT-3493 wt_verbose_dump_txn should display timestamp information WT-3497 Improve logging message when hitting the WT session limits WT-3498 Incorrect data read after caching overflow items WT-3499 Checkpoint can miss not yet committed item WT-3500 New timestamp-abort test is too chatty WT-3502 Only keep 10 delta updates between full copies WT-3503 Coverity 1379333: unchecked return value, full-build Friday WT-3508 timestamp-abort bug in verification phase WT-3509 __wt_illegal_value doesn't always provide a failure location WT-3514 WT_SESSION.checkpoint: read timestamp 6373c older than oldest timestamp WT-3517 WT_SESSION::reset doesn't need to call out EBUSY specially WT-3521 Unstable updates should not be written by lookaside eviction
* Import wiredtiger: 698847557ce7b3a938bbc8334d64a9430e4dc786 from branch ↵Alex Gorrod2017-08-0962-288/+1320
| | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 2e9744d11a..698847557c for: 3.5.12 WT-3336 Review all jenkins jobs and ensure that they run with stats enabled and stat files are archived WT-3378 Create a workload where dirty cache usage is similar to eviction_checkpoint_target WT-3388 Online rollbackToStableTimestamp WT-3456 Investigate the impact of statistics logging when statistics are disabled WT-3458 Checkpoint should ignore stable_timestamp for logged tables WT-3470 Avoid a metadata cursor open for table open/drop WT-3471 Clear out each session's table cache WT-3472 WT_CURSOR.modify has incorrect API wrapping macros WT-3478 Coverity CID 1378760: Insecure data handling (TAINTED_SCALAR) WT-3479 resolving modify updates before writing them to the lookaside file causes snapshot isolation failures. WT-3480 WiredTiger connection close can hang joining async threads WT-3481 lsm merge span fails to collect chunks to span WT-3486 Discard obsolete updates as part of re-instantiating updates based on the lookaside table. WT-3489 Provide an API to reset the commit_timestamp during rollback WT-3490 WT_CURSOR.modify unaligned size_t access. WT-3494 __cursor_needvalue() calls __cursor_localkey(), not __cursor_localvalue()
* Import wiredtiger: 2e9744d11a65c63ba7445060dc78371250f04051 from branch ↵Alex Gorrod2017-08-01109-1529/+4276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 6173a98979..2e9744d11a for: 3.5.11 WT-2309 Add yields and/or sleeps in #DIAGNOSTIC mode WT-3047 Add mode aimed at uncovering race conditions in split code WT-3308 Add statistics tracking around yield loops WT-3316 Add new engineering section to reference guide documentation WT-3338 Optimize cursor modify WT-3380 Special case 8-byte timestamps WT-3387 Add support for a stable timestamp WT-3389 Restructure split code to hold a split generation for the entire operation. WT-3406 Reconciliation is choosing reserved records for writing. WT-3410 Add developer documentation for table rename WT-3412 Add backoff logic to the btree delete and walk yield loops WT-3418 block manager object race WT-3422 WiredTiger upgrading documents out of date WT-3432 workgen needs braces around an "if" body WT-3433 session->alter method should not be supported in read-only mode WT-3439 lint/cleanup WT-3440 Add a log record when starting a checkpoint WT-3442 Coverity 1378213: false positive on diagnostic assignment. WT-3446 Temporarily disable timestamp testing in test/checkpoint WT-3447 test_stat_log02 can assert before table stats are printed WT-3461 Avoid long sleeps when the system clock is adjusted WT-3463 Add recovery of backup to test_timestamp03.py WT-3466 Track the first commit timestamp for each transaction WT-3467 Minor lint/cleanup
* Import wiredtiger: 6173a98979715ed727c432c1a31da64ea8a37048 from branch ↵Alex Gorrod2017-07-20128-1873/+3724
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: ff10db881161bbd1bc23e40ac385ff0de18f68ff from branch ↵Alex Gorrod2017-06-29114-2149/+3778
| | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: f59321a372..ff10db8811 for: 3.5.10 WT-1939 Improve error handling in example code WT-3181 Add support for MongoDB timestamps WT-3342 Create a new WiredTiger 2.9.2 release WT-3363 Add test case to detect when drops may be blocked by checkpoints WT-3373 Access violation due to a bug in internal page splitting WT-3385 Coverity 1376471: __wt_txn_parse_timestamp() memory overrun WT-3391 Create a WiredTiger 2.9.3 release. WT-3392 Coverity analysis complaints WT-3393 Missing barrier when a WT_UPDATE structure is appended to list. Also manually update wiredtiger_config.h pre-generated files in MongoDB source tree
* Import wiredtiger: f59321a3726bfd0caa71b6c653f7972e9e076682 from branch ↵Alex Gorrod2017-06-272-4/+30
| | | | | | | | | mongodb-3.6 ref: 2b048c9ad2..f59321a372 for: 3.5.10 WT-3373 Access violation due to a bug in internal page splitting
* Import wiredtiger: 2b048c9ad2dfde7ad9c2a1329bc082dfc882aec7 from branch ↵Michael Cahill2017-06-248-222/+339
| | | | | | | | | | | | | | mongodb-3.6 ref: 47e8c3d1d2..2b048c9ad2 for: 3.5.10 SERVER-29439 WiredTiger turtle file "MoveFileExW: Access is denied." error. WT-3251 Remove interim buffer used to split pages during reconciliation WT-3367 Switch OSX builders to 10.12 WT-3370 Heap use after free in txn recover code WT-3371 Make Windows/MSVC build warnings fatal. WT-3379 Avoid a performance regression on secondaries
* Import wiredtiger: 47e8c3d1d22018eaaa09f91dfd78addb49e0b49b from branch ↵Alex Gorrod2017-06-1465-625/+1449
| | | | | | | | | | | | | | | | | mongodb-3.6 ref: 7aaeaaa054..47e8c3d1d2 for: 3.5.9 WT-2596 Document behavior after a crash with a backup cursor open WT-3169 Add ability to log a message when the lookaside file is used WT-3326 workgen: run wtperf "runner" files WT-3332 Add statistic tracking connection wide transaction conflicts WT-3346 workgen: create JSON output for latency sampling WT-3349 Add timing stats to rwlocks WT-3361 Resolve Windows build warnings, build more test programs on Windows. WT-3362 Cursor opens should never block for the duration of a checkpoint WT-3369 WT_CURSOR->uri should always match the URI used to open the cursor
* Import wiredtiger: 7aaeaaa054d1ac27a95c79984f7ca69ba739caae from branch ↵Alex Gorrod2017-06-07680-3776/+10593
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* SERVER-29221 Tag some additional libraries as free of init side effectsAndrew Morrow2017-05-191-0/+3
|
* Import wiredtiger: 78109ca3fea602885a62fc2872fc553450168149 from branch ↵Alex Gorrod2017-05-173-6/+10
| | | | | | | | | mongodb-3.6 ref: cb16839cfb..78109ca3fe for: 3.5.8 WT-3158 Fix structure layout on Windows.
* Import wiredtiger: cb16839cfbdf338af95bed43ca40979ae6e32f54 from branch ↵Alex Gorrod2017-04-1110-73/+78
| | | | | | | | | | | | | | mongodb-3.6 ref: af735d14a6..cb16839cfb for: 3.5.6 WT-3249 Unit test test_readonly fails as it is unable to open WiredTiger.lock WT-3250 Incorrect statistics incremented on Windows WT-3254 test_reconfig02 uses incorrect configuration string WT-3262 Schema operations shouldn't wait for cache WT-3265 Verify hits assertion in eviction when transiting handle to exclusive mode WT-3271 Fix a bug where eviction tuning could get stuck in a loop
* Import wiredtiger: af735d14a603a6ef6256a6685f09ec13755a5024 from branch ↵Alex Gorrod2017-04-01214-3402/+5420
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Import wiredtiger: cc2f15f595b16479affd73791c207da334453bcc from branch ↵Michael Cahill2017-03-1710-62/+179
| | | | | | | | | | | | | | mongodb-3.6 ref: e1bcc30da9..cc2f15f595 for: 3.5.5 WT-3149 Change eviction to start new walks from a random place in the tree WT-3187 Hang on shutdown with a busy cache pool WT-3188 Fix error handling in logging where fatal errors could lead to a hang WT-3189 Fix a segfault in the eviction server random positioning WT-3206 bug: core dump on NULL page index WT-3218 unexpected checkpoint ordering failures
* Import wiredtiger: e1bcc30da91eedd0b17cebb725cc7e607ffa2340 from branch ↵Alex Gorrod2017-02-17121-1678/+4595
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 48a3cbc17f..e1bcc30da9 for: 3.5.4 WT-2790 Fix a text case false positive in test_sweep01 WT-2909 Create automatable test verifying checkpoint integrity after errors WT-3088 bug: Don't evict a page with refs visible to readers after a split WT-3097 Race on reconfigure or shutdown can lead to waiting for statistics log server WT-3111 util_create() doesnt free memory assigned to "uri" WT-3113 Add a verbose mode to dump the cache when eviction is stuck WT-3115 Change the dhandle lock to a read/write lock WT-3120 Fix ordering problem in connection_close for filesystem loaded in an extension WT-3135 search_near() for index with custom collator WT-3137 Hang in __log_slot_join/__log_slot_switch_internal WT-3139 Enhance wtperf to support periodic table scans WT-3144 bug fix: random cursor returns not-found when descending to an empty page WT-3148 Improve eviction efficiency with many small trees WT-3149 Change eviction to start new walks from a random place in the tree WT-3150 Reduce impact of checkpoints on eviction server WT-3152 Convert table lock from a spinlock to a read write lock WT-3156 Assertion in log_write fires after write failure WT-3157 checkpoint/transaction integrity issue when writes fail. WT-3159 Incorrect key for index containing multiple variable sized entries WT-3161 checkpoint hang after write failure injection. WT-3164 Ensure all relevant btree fields are reset on checkpoint error WT-3170 Clear the eviction walk point while populating from a tree WT-3173 Add runtime detection for s390x CRC32 hardware support WT-3174 Coverity/lint cleanup WT-3175 New hang in internal page split WT-3179 Test bug: clang sanitizer failure in fail_fs WT-3180 Fault injection tests should only run as "long" tests and should not create core files WT-3184 Problem duplicating index cursor with custom collator WT-3186 Fix error path and panic detection in logging loops
* SERVER-28004 Add build system support for iOS-related Darwin variantsAndrew Morrow2017-02-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a SCons invocation like the following to attach to the correct SDK and targeting options. // macOS native build: > python buildscripts/scons.py CCFLAGS="-isysroot `xcrun --sdk macosx --show-sdk-path` -mmacosx-version-min=10.10" LINKFLAGS="-Wl,-syslibroot,`xcrun --sdk macosx --show-sdk-path` -mmacosx-version-min=10.10" CC=`xcrun -f --sdk macosx clang` CXX=`xcrun -f --sdk macosx clang++`all // iOS Cross: > python buildscripts/scons.py CCFLAGS="-arch arm64 -isysroot `xcrun --sdk iphoneos --show-sdk-path` -miphoneos-version-min=10.2" LINKFLAGS="-arch arm64 -Wl,-syslibroot,`xcrun --sdk iphoneos --show-sdk-path` -miphoneos-version-min=10.2" CC=`xcrun -f --sdk iphoneos clang` CXX=`xcrun -f --sdk iphoneos clang++` TARGET_OS=iOS TARGET_ARCH=aarch64 all // iOS Simulator Cross: > python buildscripts/scons.py CCFLAGS="-isysroot `xcrun --sdk iphonesimulator --show-sdk-path` -miphoneos-version-min=10.2" LINKFLAGS="-Wl,-syslibroot,`xcrun --sdk iphonesimulator --show-sdk-path` -miphoneos-version-min=10.2" CC=`xcrun -f --sdk iphonesimulator clang` CXX=`xcrun -f --sdk iphonesimulator clang++` TARGET_OS=iOS-sim all // tvOS Cross: > python buildscripts/scons.py CCFLAGS="-arch arm64 -isysroot `xcrun --sdk appletvos --show-sdk-path` -mtvos-version-min=10.1" LINKFLAGS="-arch arm64 -Wl,-syslibroot,`xcrun --sdk appletvos --show-sdk-path` -mtvos-version-min=10.1" CC=`xcrun -f --sdk appletvos clang` CXX=`xcrun -f --sdk appletvos clang++` TARGET_OS=tvOS TARGET_ARCH=aarch64 all // tvOS Simulator Cross: > python buildscripts/scons.py CCFLAGS="-isysroot `xcrun --sdk appletvsimulator --show-sdk-path` -mtvos-version-min=10.1" LINKFLAGS="-Wl,-syslibroot,`xcrun --sdk appletvsimulator --show-sdk-path` -mtvos-version-min=10.1" CC=`xcrun -f --sdk appletvsimulator clang` CXX=`xcrun -f --sdk appletvsimulator clang++` TARGET_OS=tvOS-sim To run the resulting binaries under the simulator, boot a particular target machine with 'xcrun simctl': > xcrun simctl boot 'Apple TV 1080p' Find the ID of the instance that was booted: > xcrun simctl list | grep 'Apple TV 1080p' And then spawn the intended binary inside the simulator with that ID: > xcrun simctl spawn CEEC6346-6D21-4092-A091-E5A3862A357F build/opt/mongo/mongod --dbpath=tmp
* Import wiredtiger: 48a3cbc17fa902528217287fd075c87efb44aebc from branch ↵David Hows2017-01-23189-1705/+3363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 8d23249433..48a3cbc17f for: 3.5.2 SERVER-16796 Increase logging activity for journal recovery operations WT-2 What does metadata look like? WT-2402 Misaligned structure accesses lead to undefined behavior WT-2771 Add a statistic to track per-btree dirty cache usage WT-2833 improvement: add projections to wt dump utility WT-2898 Improve performance of eviction-heavy workloads by dynamically controlling the number of eviction threads WT-2994 Create documentation describing page sizes and relationships WT-3080 Python test suite: add timestamp or elapsed time for tests WT-3082 Python test suite: shorten default run to avoid pull request timeouts. WT-3083 Fix a bug in wtperf config dump WT-3086 Add transaction state information to cache stuck diagnostic information WT-3091 Add stats to test_perf0001 WT-3092 Quiet a warning from autogen.sh WT-3093 Padding the WT_RWLOCK structure grew the WT_PAGE structure. WT-3099 lint: static function declarations, non-text characters in documentation WT-3100 test bug: format is weighted to delete, insert, then write operations. WT-3104 Fix wtperf configs for eviction tests WT-3105 Fix a deadlock caused by allocating eviction thread sessions dynamically WT-3106 Add truncate support to command line wt utility WT-3108 Also dump disk page size as part of metadata information WT-3109 wording fix in transaction doc WT-3110 Add more test cases for the WT command line utility WT-3112 Handle list lock statistic not incremented in eviction server WT-3114 Avoid archiving log files immediately after recovery WT-3116 Python style testing in s_all may not execute correctly WT-3118 Protect random-abort test against unexpectedly slow child start WT-3121 In test suite create standard way to load extensions WT-3127 bug: CPU yield calls don't necessarily imply memory barriers WT-3134 Coverity scan reports 1368529 and 1368528
* SERVER-27497 Scope SCons Environment changes narrowlyAndrew Morrow2017-01-031-0/+1
|
* SERVER-27431 Allow UBSAN to check for misalignment in WTAndrew Morrow2016-12-191-6/+0
|
* Import wiredtiger: 8d2324943364286056ae399043f70b8a937de312 from branch ↵Alex Gorrod2016-12-1995-523/+1691
| | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: 1b6c815a3f..8d23249433 for: 3.5.2 SERVER-26545 Remove fixed-size limitation on WiredTiger hazard pointers WT-2402 Misaligned structure accesses lead to undefined behavior WT-283 Add a way to change persistent object settings WT-3056 For cursors with projections, keys should be allowed WT-3061 syscall test runs with checkpoint_sync=false and doesn't acknowledge pwrite64 WT-3066 lint WT-3068 Copy wtperf artifacts when running Jenkins tests WT-3069 Fix build failures in LevelDB APIs WT-3070 Fix search_near() for index cursor WT-3071 Java: fix build with -Werror=sign-conversion WT-3075 Document and enforce that WiredTiger now depends on Python 2.7 WT-3078 Fix a hang in the reconfiguration test. WT-3084 Fix Coverity resource leak complaint.
* Import wiredtiger: 1b6c815a3fd34f14c20d5cd627155799d1de535c from branch ↵Alex Gorrod2016-12-12116-1564/+3482
| | | | | | | | | | | | | | | | | | | | | | | | | | | mongodb-3.6 ref: ca6eee06ff..1b6c815a3f for: 3.5.1 WT-2336 Add a test validating schema operations via file system call monitoring WT-2670 Add option to configure read-ahead per table and change default behavior WT-2960 Inserting multi-megabyte values can cause pathological lookaside usage WT-2969 Fix a bug that could cause snapshot corruption during compaction WT-3014 Add GCC/clang support for ELF symbol visibility. WT-3021 Fixes needed for Java log cursor example, Java raw mode cursors, log cursors in raw mode WT-3025 fix error path in log_force_sync WT-3028 Workloads with all dirty pages could trigger diagnostic stuck check WT-3030 Test failure indicating invalid key order during traversal WT-3034 Add support for single-writer named snapshots. WT-3037 Fix some outdated comments in logging WT-3048 WiredTiger maximum size warning uses the wrong format. WT-3051 Remove external __wt_hex symbol. WT-3052 Improve search if an index hint is wrong WT-3053 Review Python and Java calls to internal WiredTiger functions WT-3054 Java PackTest, PackTest03 do not compile WT-3055 Java AsyncTest faults WT-3057 WiredTiger hazard pointers should use the WT_REF, not the WT_PAGE. WT-3064 minor tree cleanups: .gitignore, NEWS misspelling