summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* WT-2895 Reduce the runtime of make check testing with disable long (#3052)David Hows2016-09-285-0/+11
| | | Mostly in order to allow valgrind runs with make check to finish in a reasonable time.
* WT-2858 Rename wtperf's CONFIG structure (#3065)Keith Bostic2016-09-281-0/+56
| | | | Also replace key-string generation implementation with a more efficient implementation.
* WT-2917 split wtperf's configuration into per-database and per-run parts (#3006)Keith Bostic2016-09-271-2/+4
|
* WT-2864 Update reconfigure test to detect hangs (#3051)Keith Bostic2016-09-231-11/+42
| | | | | | | Set an alarm when running reconfiguration tests so we can detect hangs; if the alarm goes off, output the current configuration string and drop core. We've seen cases where reconfiguring causes a hang, but haven't been able to identify the root cause.
* WT-2874 Change test_compact01 to avoid eviction (#3050)Keith Bostic2016-09-191-3/+5
| | | The test relies on operating without eviction.
* WT-2916 Fix and simplify s_whitespace. (#3047)Michael Cahill2016-09-1670-99/+4
|
* WT-2914 In test/csuite program, added explicit call to wiredtiger_open to ↵Don Anderson2016-09-141-5/+11
| | | | satisfy some linkers (#3040)
* WT-2859 Restructure statistics gathering macros (#3016)Sulabh Mahajan2016-09-141-1/+2
| | | | | | | Having _FAST_ macros gives an impression that when we use them, we are collecting fast statistics only, which is not true. Except when statistics=none is set, we collect all the stats. This change removes _FAST_ macros and modifies the basic macros to only collect stats when statistics=none is not set.
* WT-2911 add support for gcc6 (#3037)Keith Bostic2016-09-131-2/+4
| | | | | | | | | | | | | * WT-2911 add support for gcc6 * Turn on stronger clang flags except for Apple's clang 4.1. Another run at getting the quoting right. * rebalance.c:81:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive] * Remove double quotes around string in case statements, it makes bash sad.
* WT-2908 Change output of shortDesc to use shortName (#3035)David Hows2016-09-131-1/+1
|
* WT-2900 Add ARM8 build support to WiredTiger and fix ARM CRC assembler tags ↵Keith Bostic2016-09-131-17/+20
| | | | | | (#3028) Add -march=armv8-a+crc to the gcc compile flags for ARM, we need the optional CRC instructions.
* WT-2908 Add a dry-run option to python suite (#3033)David Hows2016-09-122-3/+23
|
* WT-2873 Refactor CRC32 code (#3000)Keith Bostic2016-09-084-73/+30
| | | | | | | | | | | | * Add --enable-crc32-hardware configuration option (configured on by default), which allows CRC32 hardware support to be turned off. * Move the CRC32 implementation in software from the x86-specific code to software/checksum.c, leave the x86-specific code in x86/crc32-x86.c. * Move the pointer to the checksum function from a file static to the WT_PROCESS.cksum field, change the __wt_cksum_init() function to set that field. * WT-2882 Create CRC32 Hardware implementation for ARM8 * Change "cksum" to "checksum" everywhere (hopefully) no semantic changes.
* WT-2896 Coverity #1362535: resource leak (#3026)Keith Bostic2016-09-071-3/+5
| | | Free memory returned from __wt_getenv(), fix a comment.
* WT-2892 hot backup can race with block truncate (#3023)Keith Bostic2016-09-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WT-2892 hot backup can race with block truncate Hold a readlock across the block truncate, otherwise a hot backup could potentially race with the truncation. * Don't truncate log files if there's a hot backup in progress. * Moving a pre-allocated log file into place is a rename, and so it shouldn't be affected by a hot backup. The only real change is removing the test of WT_CONNECTION_IMPL.hot_backup, but some minor restructuring for clarity. * Revert "Moving a pre-allocated log file into place is a rename, and so it shouldn't" This reverts commit 3b8b2a7a81b0542b2b87f29339c18c6e7a660ed2. * The log-file rename for a pre-allocated file can race with a hot-backup, we have to hold a read lock on the hot backup lock across the process. Minor shuffling & whitespace for clarity, move some variables closer to where they're used. * Tweak default settings, increase backups from 5% to 20%, logging from 30% to 50%. * __wt_cursor_close() doesn't need a local "ret" variable. * Minor tweak to catch more of the standard API_CALL macros.
* WT-2323 code clean up. (#3025)Don Anderson2016-09-061-8/+6
|
* WT-2888 Switch functions to return void where possible (#3019)Keith Bostic2016-09-064-12/+11
| | | Some functions return an error code even though they don't need to. That adds complexity to our code. Switch to returning a void.
* WT-2875 Add environment variable to disable long csuite tests (#3001)David Hows2016-09-053-0/+19
| | | | To disable long csuite tests declare TESTUTIL_DISABLE_LONG_TESTS as an environment variable.
* WT-2323 Allocate a transaction id at the beginning of join iteration (#2943)Don Anderson2016-09-053-9/+417
| | | | Also improve tests for transactions within joins.
* WT-2555 Make test/Format and csuite run on Windows (#3011)Mark Benvenuto2016-09-059-10/+63
|
* WT-2872 Ensure tests with tiny caches don't get stuck due to the dirty ↵Michael Cahill2016-09-021-5/+6
| | | | trigger. (#3017)
* WT-2788 Do not touch memory already freed during a close API call. (#2992)Don Anderson2016-08-301-0/+179
| | | Also added a test case for the problem.
* WT-2863 Support UTF-8 paths on Windows (#2984)Mark Benvenuto2016-08-261-1/+1
|
* WT-2816 General improvements to WiredTiger eviction performance (#2949)Michael Cahill2016-08-261-5/+2
| | | | | | | | | | A set of changes to the eviction algorithm including: * Fix a bug in how many items can be added to the urgent queue * Have the eviction server sleep less so it recovers from disruptions faster. * Only have application threads evict dirty pages if they are blocked on the dirty trigger. * Swap eviction queues when one becomes empty. * Have the eviction server populate the "other" queue whenever it notices that it isn't full.
* WT-2862 de-linted a test program. (#2982)Don Anderson2016-08-261-25/+27
|
* WT-2853 Don't force eviction if multiple cursors are pinning the page. (#2974)Michael Cahill2016-08-252-0/+326
| | | | | | | | In some patterns of index lookups, we don't want the second cursor in a session to attempt forced eviction: it will just stall itself to no purpose. Expand test case added testutil_assert for failure condition and reduced test run length. Also cosmetic changes: remove unneeded vars, var declaration reordering, var renaming.
* WT-2843 Modify test for logging if truncate doesn't exist. (#2978)sueloverso2016-08-251-5/+110
|
* WT-2695 Integrate s390x accelerated crc32c support (#2967)Keith Bostic2016-08-253-1/+190
| | | | | | | | * Add X86_HOST and ZSERIES_HOST to the Windows SConstruct file. * Add smoke-test for CRC functions. * Library for accelerated CRC-32 checksums on the IBM z13 processor Pulled from https://github.com/linux-on-ibm-z/crc32-s390x.
* WT-2829 Fix missing define for BerkeleyDB (#2968)David Hows2016-08-173-7/+9
| | | | | | | | | | | | * WT-2829 Fix missing define for BerkeleyDB * Add comment explaining why we need the define * Grammar police. * test/format doesn't need its own size_t format code anymore. * Update.
* WT-2719 Fix memory leak in reconfig test (#2960)David Hows2016-08-151-0/+1
|
* WT-2834 Fix sign-change warning with auto conversion from uint to int (#2961)Sulabh Mahajan2016-08-151-1/+2
|
* WT-2834 Shared bloom filters allow only a partial shortcut. (#2958)Don Anderson2016-08-152-0/+204
| | | | | * A shared bloom filter can reduce bloom checks, but it cannot reduce the number of "full" evaluations. * Added test case that demonstrates the bug.
* WT-2832 Python test uses hard-coded temporary directory (#2951)Keith Bostic2016-08-151-1/+1
| | | | Instead of using "/tmp" to test absolute paths, get an absolute path into the local working directory.
* WT-2827 Set a reasonable minimum for log_size. (#2946)sueloverso2016-08-151-0/+8
|
* WT-2719 Allow make check without verbose configured. (#2959)Michael Cahill2016-08-151-0/+2
|
* WT-2719 add fuzz testing for WiredTiger options and reconfiguration (#2945)Keith Bostic2016-08-126-16/+289
| | | | | | | | | | | | | | | | * WT-2719 add fuzz testing for WiredTiger options and reconfiguration. Return EXIT_SUCCESS instead of 0 for consistency. * Add fuzz testing for WiredTiger reconfiguration. * Replace local code generating a unique starting RNG state with __wt_random_init_seed(). * -Werror=unused-result * Turn on-close statistics off before closing the database, if on-close is on and statistics were randomly turned off during the run, close would fail.
* WT-2820 add gcc warn_unused_result attribute (#2938)Keith Bostic2016-08-121-4/+4
| | | | | | | * Add the gcc "cold" attribute to the verbose, message, and assorted error functions (informs the compiler that the function is unlikely to be executed). * Add the WT_IGNORE_RET() macro that ignores return values in the handfull of places we want to ignore return values. * Replace calls to fprintf() in the utility with calls to util_err(), replace local variable names in error messages with class names.
* WT-2638 Add extension to the Windows file system implementation. (#2947)Alex Gorrod2016-08-111-5/+7
| | | | | | | | | | | | | | | | | | | * WT-2638 Add extension to the Windows file system implementation. Logging relies on being able to extend files, and the code shuffling for splitting fallocate and truncate meant that it was no longer working on Windows. * Update text_txn07 with modificaitons that reproduced windows error * typo * Minor changes to __win_file_set_end() comments, this code is for both extend and truncate, make that clear, don't assume read-only is why we don't have a secondary handle. * Fix a comment that I removed in 1f4eae3, Windows does do file extension with the secondary handle.
* WT-2813 Configure eviction dirty settings explicitly for LSM in test/format ↵sueloverso2016-08-081-0/+5
| | | | (#2935)
* WT-2812 Verify cache_size before dividing. (#2931)sueloverso2016-08-041-0/+58
| | | | | | | | | | | * WT-2812 Verify cache_size before dividing. It can be zero during reconfigure. * Fix test comments. * Fix formatting. * Test fixes from review.
* WT-2764 Replace write leaves phase of checkpoints. (#2876)Michael Cahill2016-08-033-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | Instead, get multi-threaded writes by dialling down the eviction dirty trigger. Change eviction_dirty_* defaults (to 20/5). Make sure all files are available for eviction before starting fsync. Take more care excluding clean files from checkpoints. Only use scrubbing mode when there is minimal cache pressure. Avoid penalizing read-only operations with dirty eviction targets. Enable scrubbing when eviction is keeping space available in cache. Add stats for checkpoint scrubbing phase. Improve cache scrubbing with big caches and slow I/O. Use the rate of bytes written from cache to decide how long to wait for the dirty bytes to come down.
* WT-2803 Add VERBOSE=1 to all make check jobs (#2920)David Hows2016-08-011-1/+1
|
* WT-2791 Have evergreen upload artifacts for each build. Rename current ↵David Hows2016-07-261-7/+23
| | | | artifacts to "Binaries" (#2906)
* WT-2778 Enhance output formatting when running Python test suite (#2888)Don Anderson2016-07-22105-278/+260
| | | | | Update make_scenarios function as a standard way to create scenarios that plays well with the new run.py -s option. Modified all tests that use scenarios to use make_scenarios. A couple other minor changes in scenario naming to ensure that no final scenario ends up with a number as a name.
* WT-2737 Scrub dirty pages rather than evicting them (#2889)Keith Bostic2016-07-213-53/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Link/include test/testutils with wtperf so we can use the test utility macros and functions in wtperf. * Minor changes to wtperf variables, sort some options, make some things boolean. * Merge the stub memory allocation functions used by the test code and wtperf. * Remove the WT_EVICT_CLEAN flag, it's never used. * __wt_page_can_evict() doesn't need to set WT_EVICTING, the only place that cares is __evict_review(), and it already sets that flag. * Add a new reconciliation flag WT_EVICT_SCRUB; it causes reconciliation to save disk images it creates. Change the eviction of multi-block pages to optionally re-instantiate pages in memory instead of evicting them. * When instantiating pages in-memory, set the read-generation to the same value as the read-generation of the original page (unless it's set to WT_READGEN_OLDEST, in which case leave the page's read-generation unset. * Simplify the in-memory tests some. * Turn on fixed-length store tests, they're no longer slow (no clue what changed). * Sue suggested removing Helium support from wtperf. * Replace dcalloc() calls before snprintf() calls with dmalloc. * Cosmetic cleanup: set the boundary structure's entries when initializing at the start of __rec_split_write(), don't set it at some random spot in the code. * After writing a block during checkpoint, we potentially re-use that block during eviction, and during eviction we'll want a disk image for potential re-instantiation in memory. If re-using a block but the boundary structure doesn't already have a disk image, create one. I don't think the boundary structure will ever already have a disk image in the current code, but future versions of reconciliation might, and the test is the same as the one we have to do for raw compression, which has already created the disk image. * If we're closing, don't instantiate any disk images, additionally, free any disk images we don't use. Both changes should fix the same problem where we have a disk image when we're truly discarding the page during a close, one should prevent us from ever having a disk image at that point, the other should prevent use from using any disk image we have. * Fixes for wtperf directory create changes: ensure the directory exists before the configuration file is dumped and create the right directories in multi-database mode.
* WT-2767 in test/suite/run.py, add -s N option to run an individual scenario ↵Don Anderson2016-07-183-12/+39
| | | | | | | | | | | | | | (#2878) * Added -s N option to run.py to restrict run to a scenario with a given number or name. When printing the name of the test, if there is a scenario, print as 'fulltestname -s scenario_number' so it can be easily copied for another command run. Created a 'testname.txt' file in the test directory with the name of the test (and '-s NNN', if appropriate). Fixed the ordering of the symbolic name of a scenario (e.g. 'file.recno.hex'), it was reversed before. * Only allow -s when a test is specified (not for a complete run).
* WT-2773 search_near in an index should find exact matches. (#2882)Michael Cahill2016-07-171-0/+68
| | | | | More specifically, if search_near is called with a key that appears in an index, the cursor should be positioned on the first matching key and `cmp` should be set to zero.
* WT-2774 minor cleanups/improvements (#2881)Keith Bostic2016-07-181-3/+3
| | | | | | | * Enhance the information reported by __wt_cache_dump(), specifically, add more clean/dirty information. * Rework e41c3e5, do reconciliation cleanup when reconciliation finishes, that way we don't repeat work and/or do the work in multiple places.
* WT-2738 Remove test/format debugging code. (#2879)Alex Gorrod2016-07-151-1/+0
|
* WT-2738 Remove the ability to change the default checkpoint name (#2877)Keith Bostic2016-07-152-2/+1
| | | We used to provide the ability to specify a custom checkpoint name that the checkpoint server would use. That feature increased code complexity and led to inconsistent checkpoint behavior.