Commit Graph

83 Commits

Author SHA1 Message Date
Susan LoVerso
20b1a6ed80 WT-2497 Create second backup copy. 2016-03-17 10:39:32 -04:00
Alex Gorrod
ec9a451025 WT-2405 Switch test/format to use shared testutil_die 2016-02-19 01:44:58 +00: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
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
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
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
Michael Cahill
7063f8b6e8 SERVER-19340 Avoid type aliasing in the random number generator. 2015-07-27 12:07:31 +10: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
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
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
26143edcb7 Replace setvbuf calls to configure line-buffering with FILE handle flush
as needed, setvbuf(_IOLBF) is not available on Windows.
2015-04-08 16:28:39 -04:00
Mark Benvenuto
c6270b6774 test/format for Windows
- Fixed an issue where fallocate was setting fh->size (incorrectly copied from ftruncate implementation)
2015-04-08 14:14:31 -04:00
Keith Bostic
3be5f04899 Redirect the "cd" command to /dev/null so chatty cd implementations
don't add the new working directory to our output.
2015-03-18 20:12:25 +00:00
Keith Bostic
1f9098871a Copyright notices: add MongoDB, update to 2015. 2015-01-04 14:07:56 -05:00
Keith Bostic
1418048be1 Make every 1000th record big (80-100KB). 2014-12-10 15:36:42 -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
Mark Benvenuto
6828f17265 Port all examples, most tests, and wtperf to Windows
Added windows_shim to emulate most functions
2014-10-16 19:58:17 -04:00
Keith Bostic
aa0b36355c Tables aren't "wt", they're "wt.wt", fix things up so we corrupt them
too, and test salvage.
2014-09-01 14:32:23 -04:00
Keith Bostic
2638cc5191 Copy the corrupted file before salvaging it, the dd command to
reproduce the corruption is too painful to build every time I
want to debug one of these.
2014-09-01 11:57:17 -04: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
8b2027b80b Somewhere along the line we lost the functionality for replay, we're
not reading the RUNDIR's configuration file -- fix it.

Rename the RUNDIR's configuration file from "run" to "CONFIG".

Cleanup some error handling, always dump the configuration file (if
a particular configuration causes us to run out of memory, we want to
know).
2014-05-30 08:44:54 -04:00
Michael Cahill
db23e7bbce Remove workarounds from test/format for logs and LSM.
refs #972, #976, #979
2014-05-07 16:46:14 +10:00
Michael Cahill
984d6fd368 Exclude log file when copying for salvage: they could be removed by log archive during the copy. 2014-04-28 16:20:08 +10:00
Keith Bostic
c5f4b86d52 Support zero-length data items in LSM, reference #540. 2014-04-20 11:25:22 -04:00
Keith Bostic
7dd74c82aa Don't drop core if the maximum value is smaller than min + 20. 2014-04-08 14:22:22 -04:00
Keith Bostic
8c54afef59 Reduce the leaf page size from 1MB to 32KB.
Change format test to focus on smaller key/value items.
2014-04-08 14:03:58 -04:00
Keith Bostic
5b509b7220 Update copyright notices for 2014.
Move lang/java and lang/python into the public domain.
2014-01-07 10:30:12 -05:00
Keith Bostic
9aa469e13e Better/fixed support for huge keys/values.
Change the WT_ITEM::size field from type uint32_t to size_t.

Change test/format configuration to support large key/value items.

Ref: #808 and #70.
2013-12-16 12:55:50 -05:00
Michael Cahill
0a03ffc55f Fix a long-standing test/format bug that meant values repeated *way* more often than configured. This showed up because repeating overflow items with large pages result in pathological (quadratic) performance degradation. 2013-12-10 16:40:06 +11:00
Keith Bostic
6c9d61f771 Allow replay of threaded runs. 2013-12-07 10:48:52 -05:00
Keith Bostic
bdb57e3df6 Add support for a -h home argument so can easily run in a target directory. 2013-12-06 11:54:43 -05:00
Keith Bostic
1d090cf5c4 Always seed the random number generator, otherwise the first time format
runs is always the same run (and if you wrap runs in a loop, you get the
same run over and over).
2013-12-05 09:51:37 -05:00
Keith Bostic
4a1d255ae5 Rework the Memrata code to configure all of the KVS sources when the
shared library is loaded, rather than specifying a set of devices on
every call that takes a URI.
2013-08-10 09:23:58 -04:00
Keith Bostic
3bd6465f3e Add simple transaction support to test/format. 2013-08-06 10:58:46 -04:00
Michael Cahill
950c769209 ../../../test/format/util.c:174:16: error: conversion to 'size_t' from 'int' may change the sign of the result [-Werror=sign-conversion] 2013-06-04 10:17:32 +10:00
Keith Bostic
65d74f0c72 whitespace 2013-06-03 09:12:01 -04:00
Keith Bostic
66dbf8a575 Every WiredTiger API that takes a URI must now configure kvs_devices.
Specify kvs_open_o_truncate when opening the device, we're starting
fresh on every run.
2013-06-03 08:57:00 -04:00
Keith Bostic
61efcd6ba0 Fix a few old-style function declarations. 2013-05-03 08:38:03 -04:00
Keith Bostic
ba82e01b49 First set of changes to make WT_DATA_SOURCE work better (row-store is
working, but column-store still isn't).

Create a new cursor type, the data-source cursor; it has a "child" cursor
that's "owned" by the data-source layer.  This means adding a new private
field to the WT_CURSOR structure for a data-source.  Implementation is in
cursor/cur_ds.c.

Store the data-source configuration (currently only the key/value_format
strings) in the meta-data file.

Pass simplified configuration strings to the underlying data-source methods
("key_format", "value_format" and "append", so far, probably needs "overwrite"
as well).

Don't pass "owner" to the WT_DATA_SOURCE.open_cursor method, owner is
intended for some of the internal cursor types, like dump.

Some general renaming, use "uri" instead of "name" in the data-source
methods and docs.
2013-04-03 09:23:19 -04:00
Keith Bostic
963d37a4e6 Update copyright notice to 2013. 2013-01-01 09:45:50 +00:00
Keith Bostic
2f4a57ac4b Re-seed the random number once (and only once), for each new test/format
run.
2012-11-27 22:29:33 +00:00
Michael Cahill
3f3ba2f0d7 Have test/format seed the random number generator once, using time(3) instead of repeatedly calling gettimeofday. 2012-11-27 11:35:52 +11:00
Keith Bostic
45c1e2a5a3 Move test program software into the public domain, if anyone wants to
cut-and-paste from it, that's fine with us.
2012-10-26 13:22:45 +00:00
Keith Bostic
9c371c5a84 Replace test/format's bzip configuration string with compression, which
can take one of four arguments (none, bzip, ext, snappy), change format
to run snappy compression if the library is available.

Use gettimeofday's usecs value to seed the random number generator, and
always seed the random number generator, even if it's a threaded run.
2012-10-26 08:10:42 +00:00
Keith Bostic
8fa690dce6 Use gettimeofday() usecs to seed with a better "random" number. 2012-10-26 08:10:42 +00:00
Keith Bostic
212db88a8b I misunderstood what Alex was doing so lsm and row configurations weren't
being matched up correctly.

Free up the allocated configuration memory.
2012-09-17 09:56:01 +00:00