Commit Graph

421 Commits

Author SHA1 Message Date
Keith Bostic
7cc25a0644 Fix up the quoting for the Helium devices. 2014-01-18 11:06:39 -05:00
Keith Bostic
f55804b2d4 test/format runs, now.
Remove the Memrata support, add Helium documentation, remaining cleanups.
2014-01-18 11:01:20 -05:00
Keith Bostic
0e351b44ce Turn off verbose messages for now. 2014-01-17 18:12:12 -05:00
Keith Bostic
d7e7e50a15 More verbose messages, make it possible to configure verbosity at run-time. 2014-01-15 13:10:08 -05:00
Keith Bostic
6063b1cc0e First version of the Levyx/Helium code, derived from the Memrata code.
It doesn't run yet, but it compiles and limps to a core dump.
2014-01-15 11:46:07 -05:00
Keith Bostic
fe644a307a Merge branch 'develop' into helium
Conflicts:
	test/format/bdb.c
2014-01-13 06:56:00 -05:00
Keith Bostic
6792b1aadd Update to match new configuration option, --with-berkeleydb=DIR 2014-01-13 06:26:55 -05:00
Michael Cahill
3620321041 Maintain compatibility with older versions of BDB.
refs #841
2014-01-13 11:24:08 +11:00
Keith Bostic
6d8c107e86 Move to autoconf 1.14; subdir-objects means we have to copy the compression
file and build it locally, we're already building the standard version of it
in the source location.
2014-01-11 15:36:24 -05:00
Keith Bostic
e663539544 The BerkeleyDB 6.0 btree comparison function takes an additional argument,
a size_t reference, currently unused.
2014-01-11 15:24:24 -05:00
Keith Bostic
0841e6f19d Berkeley DB 6.X's application-comparison function takes a size_t reference
as an additional, 4th argument.
2014-01-10 12:12:30 -05: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
Keith Bostic
0d50ab3161 Turn on salvage, hot backup verify and verify for LSM data sources
(leave LSM off by default, though), check for EBUSY returns instead.
2013-12-12 09:07:40 -05:00
Michael Cahill
8a9328bed4 In test/format, have bloom_oldest imply bloom=1 to avoid an error in WT_SESSION::create. 2013-12-11 10:11:43 +11:00
Michael Cahill
41102ae2a8 Make LSM chunk size configurable in test/format. 2013-12-10 16:45:01 +11: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
Alex Gorrod
cd69b49520 Update test/format to include LSM configuration options. 2013-12-09 19:02:06 +11:00
Keith Bostic
6c9d61f771 Allow replay of threaded runs. 2013-12-07 10:48:52 -05:00
Keith Bostic
797a6a2d5c Get rid of CONFIG.example, it's never correct, futz with the config
error output a little to make it more readable.
2013-12-07 09:29:26 -05:00
Keith Bostic
2c744f2842 Replace an explicit (void)arg with WT_UNUSED. 2013-12-06 19:02:37 -05:00
Keith Bostic
0b4e171313 Add a small hack so the "make check" ignores any local CONFIG file. 2013-12-06 17:00:52 -05:00
Keith Bostic
825310eef0 the maximum value may be -1 when cast to an (int), do the cast in the
other direction after first making sure the supplied value is positive.
2013-12-06 15:12:50 -05:00
Keith Bostic
add06757e6 Add a bunch of the newer LSM configuration options, but leave turned off
for now.
2013-12-06 14:58:11 -05:00
Keith Bostic
8f92bf34be shorten the line so we don't overflow when the numbers get large. 2013-12-06 14:57:56 -05:00
Keith Bostic
f4efe847b8 Make bloom_oldest configurable for LSM runs. 2013-12-06 14:18:44 -05:00
Keith Bostic
18328ef44a Make the case statement consistent with other use in this program. 2013-12-06 14:15:19 -05:00
Keith Bostic
decb4d8437 Make the random number config use consistent, 1-to-X everywhere instead of
0-to-(X-1) in a few places.
2013-12-06 14:11:06 -05:00
Keith Bostic
6b33f719e0 Add configuration support for categories of checksums (10% on, 10% off,
80% uncompressed, by default).

Only run single-threaded 10% of the time (previously, 25%).
2013-12-06 14:02:19 -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
256af27d57 Add a compaction option, set compaction 10% of the time.
Switch first-fit allocation set from 20% to 10% of the time.
2013-12-05 09:26:59 -05:00
Alex Gorrod
79f6384814 Move LSM configuration options to be a group in WT_SESSION->create API.
Options used to be lsm_xxx are now lsm=(xxx,xxx,xxx)
2013-12-03 17:52:03 +11:00
Keith Bostic
23febd77a4 Merge branch 'develop' into wtperf-745 2013-11-25 10:11:31 -05:00
Keith Bostic
6ad2068cb7 Create a single thread that occasionally compacts the object -- compaction
is a long-running operation and we don't want every worker thread doing it.
2013-11-25 10:09:22 -05:00
Keith Bostic
fd0183b0a4 whitespace 2013-11-25 10:02:15 -05:00
Keith Bostic
e55042d774 Smoke-test format as part of running "make check". 2013-11-24 16:22:11 -05:00
Keith Bostic
6d35ba46b2 Should never happen, but lint points out session can theoretically be
a NULL value at the end of this loop.
2013-11-16 11:02:37 -05:00
Keith Bostic
94fa3f7be1 CID 1129026 (#1 of 4): Dereference after null check (FORWARD_NULL)
191. var_deref_op: Dereferencing null pointer "cursor".

Coverity is concerned we're testing for cursor == NULL and subsequently
not testing, just indirecting through the cursor handle.  It can't
happen because there's only one case where it's interesting, when
session_op == cnt, and we catch that case by initializing session_op to 0.

Add some additional code just to ensure it can never happen.
2013-11-15 19:59:50 -05:00
Keith Bostic
19a75210e0 CID 1129078 (#3 of 3): Uninitialized scalar variable (UNINIT)
16. uninit_use: Using uninitialized value "total.commit".
2013-11-15 19:59:49 -05:00
Michael Cahill
25ad02da78 Have test/format reset its cursor before blocking operations like checkpoint. 2013-11-15 11:59:31 +11:00
Michael Cahill
687fc2da7e Only pass "block_allocation=" if test/format is overriding the default. 2013-11-11 15:14:12 +11:00
Michael Cahill
b53a1748b5 Go back to "allocation_size" to avoid breaking the world. 2013-11-11 12:01:27 +11:00
Keith Bostic
157a4e86a7 Compression changes.
Change compaction to attempt compaction any time it looks likely we can
recover the last 10% of the file, and, for now, to only attempt to
recover that last 10% of the file.

Don't rewrite a block if there isn't a useful available block in the
first 90% of the file.  (Previously, compacting the whole file in one
pass could end up re-writing blocks to available blocks at the end of
the file which isn't useful, and, in some cases, even extending the
file.

The reason we're only compacting the last 10% of the file is that we
will need to checkpoint periodically otherwise re-written blocks, which
should be the new, available blocks for compaction, won't be considered
because they're still in use.  Doing that automatically will be the next
set of changes.

Change compaction to use first-fit allocation instead of best-fit so
we're always copying to the beginning of the file if at all possible.
Add WT_SESSION::create "block_allocation" configuration string, allows
applications to configure first-fit.  Change test/format to use the
first-fit algorithm 20% of the time.

Remove the WT_SESSION.compact "trigger" configuration string, it's no
longer used.

Rename WT_SESSION::create "allocation_size" configuration string to
"block_allocation_size" to match "block_allocation" and
"block_compressor" configuration strings.

Inline the block extension search functions, they get called a lot.

Add "compact" verbose debugging string.

Fix a bug where a spinlock could be left held by compaction.
2013-11-09 09:59:04 -05:00
Keith Bostic
9be66e1d26 Rework WT_UNUSED/WT_UNUSED_RET slightly: move GNUC macros out of misc.h
into their own include file "gcc.h", change the test programs to include
and use the definitions from that file.
2013-11-06 09:18:50 -05:00
Alex Gorrod
1e9c8b91d1 Fix compiler warnings with GCC 4.7.2 on Ubuntu. 2013-11-01 16:18:48 +11:00
Alex Gorrod
9e6fbc26a1 Merge branch 'develop' into java-auto-close 2013-10-25 09:34:43 +11:00
Keith Bostic
30c726c774 API change: rework "run-time" and "tree-walk" statistics configuration.
Now, the database is configured for "none", "fast" or "all" statistics,
and each cursor is configured for "fast" or  "all" statistics, with the
additional flag "clear".  A cursor's statistics configuration must match
the database statistics cursor, defaulting to the current configuration.
The statistics_log configuration no longer defaults to "fast", it dumps
whatever the database is configured for.

Rename all of the macros from WT_RUNSTAT_XXX to WT_STAT_FAST_XXX.

Reference #715.
2013-10-19 16:29:08 -04:00
Michael Cahill
d54765081c Merge branch 'develop' into lsm-bloom-newest 2013-10-14 14:12:49 +11:00
Michael Cahill
7f7c88aed2 Merge branch 'develop' into java-auto-close 2013-10-09 15:54:49 +11:00