| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
Mostly in order to allow valgrind runs with make check to finish in a reasonable time.
|
|
|
|
| |
Also replace key-string generation implementation with a more efficient implementation.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
The test relies on operating without eviction.
|
| |
|
|
|
|
| |
satisfy some linkers (#3040)
|
|
|
|
|
|
|
| |
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
* 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.
|
| |
|
|
|
|
|
|
| |
(#3028)
Add -march=armv8-a+crc to the gcc compile flags for ARM, we need the
optional CRC instructions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
| |
Free memory returned from __wt_getenv(), fix a comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
| |
Some functions return an error code even though they don't need to. That adds complexity to our code. Switch to returning a void.
|
|
|
|
| |
To disable long csuite tests declare TESTUTIL_DISABLE_LONG_TESTS as an environment variable.
|
|
|
|
| |
Also improve tests for transactions within joins.
|
| |
|
|
|
|
| |
trigger. (#3017)
|
|
|
| |
Also added a test case for the problem.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
* 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
* Add comment explaining why we need the define
* Grammar police.
* test/format doesn't need its own size_t format code anymore.
* Update.
|
| |
|
| |
|
|
|
|
|
| |
* A shared bloom filter can reduce bloom checks, but it cannot reduce the number of "full" evaluations.
* Added test case that demonstrates the bug.
|
|
|
|
| |
Instead of using "/tmp" to test absolute paths, get an absolute path
into the local working directory.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
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.
|
|
|
|
| |
(#2935)
|
|
|
|
|
|
|
|
|
|
|
| |
* WT-2812 Verify cache_size before dividing. It can be zero during
reconfigure.
* Fix test comments.
* Fix formatting.
* Test fixes from review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
artifacts to "Binaries" (#2906)
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#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).
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
| |
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.
|