Keith Bostic
1935326625
WT-2405: test utility error handling.
...
Add testutil_checkfmt, a macro that supports additional error output.
2016-02-19 11:17:43 -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
a0fd1c3abe
WT-2316: WT_CURSOR.prev out-of-order returns, fix a split race.
...
Increase the cursor movement in format to 100 calls, hopefully that
will increase our exposure to cursor races during splits.
2016-01-11 10:43:26 -05:00
Keith Bostic
344a714c3d
Upgrade copyright notices from 2015 to 2016.
2016-01-01 16:37:39 -05:00
Keith Bostic
6df6c29e77
WT-2307: add HAVE_DIAGNOSTIC checks for cursors not returning keys
...
out-of-order.
2015-12-28 17:10:05 -05:00
Keith Bostic
c5f0a67139
lint: Variable 'ret' (line 237) may not have been initialized
2015-10-12 10:31:25 -04:00
Keith Bostic
01d90d8c8c
Call WT_SESSION.reset occasionally, it's not tested anywhere else.
2015-09-27 11:23:38 -04:00
Keith Bostic
058caddbcf
Merge branch 'develop' into wt-1967-evict-any
2015-08-08 16:29:45 -04:00
Keith Bostic
61f03c86be
clang complaint:
...
ops.c:190:22: warning: variable 'lrt_tid' may be uninitialized when used
here [- Wconditional-uninitialized]
(void)pthread_join(lrt_tid, NULL);
2015-08-07 14:41:48 -04:00
Keith Bostic
bfbcefef9c
Fix a bug in read_row, introduced when the long-running transaction
...
changes, don't reset the return value, we need it when testing against
Berkley DB's data.
2015-08-07 11:20:58 -04:00
Keith Bostic
ce1fe0aef8
Minor cleanups to ensure we free memory allocated for keys.
2015-07-30 12:49:51 -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
Keith Bostic
896797a8a4
Whitespace: 3 spaces after a period in a comment.
...
Sorry, but it just bugged me.
2015-06-14 09:59:37 -04: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
Michael Cahill
9880d7563f
Merge branch 'develop' into encryption-api
...
Conflicts:
ext/compressors/lz4/lz4_compress.c
2015-05-12 14:47:28 +10: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
Keith Bostic
f5ec460849
Do a full pass, simplify all the if/free pairs in the tree.
2015-05-02 10:34:22 -04:00
Alex Gorrod
6ea949933f
Fix coverity reports in test/format code.
...
CID 1295092: Integer handling issues (OVERFLOW_BEFORE_WIDEN)
/test/format/ops.c: 93
CID 1295091: Null pointer dereferences (REVERSE_INULL)
/test/format/ops.c: 489
2015-04-20 16:50:13 +10:00
Michael Cahill
70ebf4c7f3
Merge branch 'develop' into cursor-pin
2015-04-14 14:49:25 +10:00
Keith Bostic
be303d2b2d
Change to build format without installing Berkeley DB.
2015-04-13 15:37:39 -04:00
Keith Bostic
63dca5514d
Add support for alternating between search and search-near calls,
...
it forces testing of searches on pinned pages.
2015-04-05 12:23:48 -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
Alex Gorrod
7e8cdc3b4a
Fixup test/format reporting.
...
So the command line reports the number of current ops accurately.
2015-02-27 17:22:41 +11:00
Keith Bostic
1f9098871a
Copyright notices: add MongoDB, update to 2015.
2015-01-04 14:07:56 -05:00
Keith Bostic
2c473cee30
Add a simple test of recovery -- on timed runs, the monitor thread
...
optionally indirects through a NULL and core dumps, then we verify
the object.
2014-12-15 11:23:59 -05:00
Keith Bostic
5e9efe554c
When I switched the tracking frequency from 1/10 of a second to 1/4
...
of a second, I didn't update the code that decremented the timer to
the end of a run -- fix it.
2014-12-10 15:00:06 -05:00
Keith Bostic
7ada354642
Make sure each thread has at least one operation to perform, but not
...
an arbitrary number.
2014-11-12 17:24:07 -05:00
Keith Bostic
9cfccfb742
Don't update the counters as often, should help with shared cache lines.
2014-11-11 12:59:07 -05:00
Keith Bostic
c667719cc6
Add support for timer-specified runs.
...
Support compaction & backup for single-threaded runs.
2014-11-11 12:32:00 -05:00
Keith Bostic
7590319f16
Rename WT_DEADLOCK to WT_ROLLBACK, reference #1204 .
2014-10-17 07:46:30 -04:00
Michael Cahill
f1d85cad7d
Skip checkpoint reads from LSM: they aren't supported.
2014-10-13 11:47:00 +11:00
Keith Bostic
9e242a5378
Don't read from checkpoints if we're single-threaded and doing checks
...
against a BDB copy of the object, the checkpoint might not match the
BDB data.
2014-10-12 20:19:41 -04:00
Keith Bostic
70ec55f69c
10% of the time, when switching to a new session/cursor set, perform
...
a small number of reads from a checkpoint.
2014-10-08 15:22:02 -04:00
Keith Bostic
a6022950bf
Don't jump to the deadlock handling code unless we're in a transaction.
2014-10-08 14:02:18 -04:00
Michael Cahill
10a92203f9
whitespace
2014-09-09 18:14:06 +10:00
Michael Cahill
0a3061750a
Have test/format always reset cursors at the end of each operation.
2014-09-09 17:57:13 +10:00
Michael Cahill
3d40ecb61a
Now that begin/commit_transaction isn't resetting cursors, make test/format more proactive about doing it.
2014-09-03 14:54:20 +10:00
Keith Bostic
703e616fe1
Get rid of "hot" backup labels, it's just "backup" now.
2014-08-26 15:57:05 -04:00
Keith Bostic
17bf32b623
Add support for random isolation configurations, where each new session
...
is assigned one of the possible isolation settings at random.
2014-06-16 10:33:05 -04:00
Michael Cahill
59b8b1730c
In test/format, split out the session configuration from isolation: the latter is used to write RUNDIR/CONFIG.
2014-06-03 15:36:21 +10:00
Michael Cahill
15b32aec97
Exercise all isolation levels in test/format.
...
motivated by reviewing #1040
2014-06-03 14:19:03 +10:00
Keith Bostic
5e326ccf07
Add a new checkpoints boolean configuration, makes it easy to turn off
...
checkpoints entirely.
2014-03-12 16:48:47 -04:00