Commit Graph

173 Commits

Author SHA1 Message Date
Susan LoVerso
20b1a6ed80 WT-2497 Create second backup copy. 2016-03-17 10:39:32 -04:00
Keith Bostic
525b9a6f30 WT-2422: multiple definitions of custom die function
Define the custom die function once per program.
2016-02-22 11:03:47 -05:00
Alex Gorrod
2b4cd8de33 WT-2405 Switch new testing error handler to be shared in test util 2016-02-19 01:54:23 +00:00
Alex Gorrod
ec9a451025 WT-2405 Switch test/format to use shared testutil_die 2016-02-19 01:44:58 +00:00
Keith Bostic
ca48eaa794 WT-2405: test utility error handling.
Add a check routine to make simple error handling easier.
2016-02-18 08:58:39 -05:00
Keith Bostic
41a08af673 WT-2361: column-store starting record number error
Add a "quiet" configuration command, so it's possible to keep format quiet
from the CONFIG file.
2016-02-02 07:23:08 -05:00
Keith Bostic
12be963758 WT-2352: Allow build and test without requiring lz4
Remove support for the bzip2 compression engine.
2016-01-28 12:44:09 -05:00
Keith Bostic
e2ba70597a WT-2287: WT_SESSION.rebalance
Use a static buffer for the wiredtiger_open configuration, that way we
don't have to free it to make clang LeakSanitizer happy.
2016-01-19 20:33:22 -05:00
Keith Bostic
2fbec8cc81 Merge branch 'develop' into wt-2287-rebalance 2016-01-19 09:59:03 -05:00
Keith Bostic
5a84febed7 WT-2247, WT-2312: variable-length column-store in-memory page splits
Review comments, get rid of incorrect/unnecessary const declarations.
2016-01-19 08:35:51 -05:00
Keith Bostic
f19f26b60f Merge branch 'develop' into wt-2247-column-store-splits 2016-01-19 08:19:20 -05:00
Keith Bostic
a6f27c99a5 Merge branch 'develop' into wt-2287-rebalance 2016-01-01 16:51:17 -05:00
Keith Bostic
344a714c3d Upgrade copyright notices from 2015 to 2016. 2016-01-01 16:37:39 -05:00
Keith Bostic
4a4439a792 Copy the configuration string, they get free'd when the run ends. 2015-12-31 21:17:15 -05:00
Keith Bostic
8e31d56d32 error: initialization from incompatible pointer type
[-Werror=incompatible-pointer-types]
2015-12-31 15:28:28 -05:00
Keith Bostic
f73041042f error: assignment discards "const" qualifier from pointer target type
[-Werror=discarded-qualifiers]
2015-12-31 15:11:01 -05:00
Keith Bostic
1df86bfb7a WT-2287: Add support for a WT_SESSION.rebalance method that rebuilds the
underlying btree, correcting any imbalance.
2015-12-17 12:29:08 -05:00
Keith Bostic
23d5f86dc0 WT-2258: Add configuration support for a direct_io=(data) option. 2015-12-02 18:05:38 -05:00
Keith Bostic
add119923b WT-2178: add support to format for in-memory runs. 2015-11-04 10:21:40 -05:00
Keith Bostic
939c7210db lint. 2015-10-19 09:26:07 -04:00
Keith Bostic
3332588532 Add simple strdup/malloc wrappers so we don't have to check for error
returns.
2015-08-07 09:36:36 -04:00
Keith Bostic
1b4e888edb Merge branch 'develop' into wt-1967-evict-any 2015-07-28 20:02:03 -04:00
Michael Cahill
7063f8b6e8 SERVER-19340 Avoid type aliasing in the random number generator. 2015-07-27 12:07:31 +10:00
Keith Bostic
5d0f39b1c9 Clean up error handling around records not being found; if we have an
open cursor that found the record once, it should find it again, it's
an error if we've lost that record.
2015-07-21 14:50:28 -04:00
Keith Bostic
1c0ee83087 WT-1967: creating a lookaside table to hold updates which are no longer
useful, but which still might be required by current readers.

When reconciling pages with updates which still might be read by existing
snapshot readers, write the updates into a lookaside table.  When those
pages are read back into the cache, any still-relevant updates are read
back from the lookaside table and attached to the page.

Add a new on-disk page-header flag, WT_PAGE_LAS_UPDATE, set when a page
has records in the look-aside table.

Remove the __wt_evict_page() code, replace with calls to __wt_evict(),
and add testing in reconciliation to only write committed updates.  As
part of that change, remove the WT_ISO_EVICTION transaction isolation
configuration, it's no longer used (WT_ISO_READ_UNCOMMITTED is used
instead).

Delete the WT_PAGE_MODIFY.rec_max_txn field (no longer needed after
reconciliation is changed to return EBUSY if a page wasn't marked
clean, replacing the test of WT_PAGE_MODIFY.rec_max_txn __evict_review).

Delete the test for all updates being globally visible when a page is
discarded from the cache, that's no longer true. Delete the
WT_SESSION_DISCARD_FORCE flag, used to turn off that check when forcibly
discarding a page.
2015-07-19 10:58:10 -04:00
Keith Bostic
d42029bc23 WT-1967: Add support for a long-running, isolation=snapshot, reader
thread.
2015-07-14 11:05:06 -04:00
Alex Gorrod
51d328b67e Add ability to turn verify and salvage off in test/format.
This can be handy when reproducing failures that aren't uncovered
with verify/salvage, since it decreases the runtime for a single pass.
2015-06-30 01:29:43 +00:00
Keith Bostic
bb986cf409 Avoid read/write races in the PRNG: switch to using an 8B value instead
of a two, 4B value array, declare the value volatile to avoid having the
compiler alter the read/write path.

Add a check if a PRNG component ever goes to zero and reset it.
2015-05-30 11:53:52 -04:00
Keith Bostic
abdcc19a24 Merge pull request #1975 from wiredtiger/log-compress-stress
Add encryption and log compression to stress testing
2015-05-18 12:37:52 -04:00
Don Anderson
42e6b560d9 Added simple 'rotn' encryption, to be used on 30% of runs. WT-1471 2015-05-17 14:23:37 -04:00
Don Anderson
6cbbbb1f67 Added logging compression, some refactoring related to logging. WT-1471. 2015-05-14 16:31:20 -04:00
David Hows
21148870aa Change to __wt_exists 2015-05-12 13:41:33 +10:00
Keith Bostic
78d623472c Merge branch 'develop' into lz4-compress-destsize 2015-05-11 10:38:26 -04:00
Keith Bostic
dcedd7fa7e Single-thread failure so we don't close the global file handles twice. 2015-05-10 10:42:30 -04:00
Keith Bostic
8210599a4e Don't call fclose multiple times, clear the FILE handle to make sure
it's only once.
2015-05-10 10:38:01 -04:00
Keith Bostic
ca7a3de5eb Rework test/format to use the WiredTiger RNG, not rand.
Give every thread its own RNG state so there's no competition for the
cache lines.

Initialize the random-number generator early so we catch all possible
configuration uses.

Remove duplicates of WiredTiger's macros.
2015-05-09 11:15:59 -04:00
David Hows
daad9bf267 Revert format to old die 2015-05-07 16:57:04 +10:00
David Hows
29477b0ac5 Add testutils to all tests 2015-05-05 14:51:23 +10:00
Keith Bostic
1025b9fa76 Add LZ4 raw support based on the new LZ4_compress_destSize API, making
it the default (LZ4 block mode is now lz4-noraw, to match zlib).

This implementation mostly works, but...

It's not backward compatible because we're storing more information in
the destination buffer than before (two 4B values instead of a one 8B
value). The 2.5.3 release is the only release that had LZ4 support, so
I don't expect this to be a problem. We could be backward compatible,
but not without a fair amount of pain.

This code sizes decompression buffers incorrectly. The WiredTiger btree
code sizes the decompression buffer based on the final in-memory size
of the data, which isn't correct for data compressed with LZ4's raw
compression function which may have compressed more data than the final
in-memory size.
2015-05-03 11:51:21 -04:00
Keith Bostic
7155ac74d4 Coverity 1129063: Time of check time of use (TOCTOU)
Calling function "mkdir(char const *, __mode_t)" that uses "g.home"
after a check function. This can cause a time-of-check, time-of-use
race condition.
2015-05-01 08:53:58 -04:00
Keith Bostic
be303d2b2d Change to build format without installing Berkeley DB. 2015-04-13 15:37:39 -04:00
Keith Bostic
60fdcc9e35 Add LZ4 compression to the standard list.
Rework compression choices, take 10% from the no-compression case, and
10% from the bzip case, make them a 20% lz4 case.
2015-03-18 11:24:25 -04:00
Keith Bostic
ab86fe0728 die doesn't return, keep lint quiet. 2015-03-11 09:28:28 -04:00
Keith Bostic
0d6e9b3008 Don't set delete_pct to 0, or threads to 1 on the first run, we don't want
every smoke-test to have the same values.

Add F_SET, F_CLR, F_ISSET macros, simplify checks for the "permanent" flag.
2015-03-10 16:47:26 -04:00
Keith Bostic
a2fc5559a2 Simplify the operations loop -- basically, we want to do N loops of
operations so we test opening and closing the objects, but if there
are no operations to do, we just need to verify the bulk-load and
we're done.

Don't drop core & test recovery until the last of the N loops, we
were doing it on the first.
2015-03-04 08:58:50 -05:00
Keith Bostic
15a98a1cd0 Instead of introducing an additional configuration string (timeout),
use timer to specify the maximum run, that is, you can set a count
of operations as well as the timer, and if both set, whichever expires
first limits the run.
2015-03-04 08:33:37 -05:00
Alex Gorrod
02d8873829 Add time out functionality to test/format.
Set the default timeout for operations to 20 minutes.
2015-03-04 03:37:38 +00:00
Keith Bostic
fead43e680 Run the statistics server thread 5% of the time, occasionally specify a list
of sources to the statistics thread as well.
2015-02-23 19:54:28 -05:00
Keith Bostic
1f9098871a Copyright notices: add MongoDB, update to 2015. 2015-01-04 14:07:56 -05:00
Keith Bostic
04fbf7031f Add configuration options for log archive and pre-allocation, currently
at 50% each.

Turn on logging all the time in the recovery test script.

Explode the configuration snprintf() for wiredtiger_open.

The test to check for configuration buffer overrun in WT_SESSION.create
was wrong, fix it.
2014-12-15 14:53:30 -05:00