Commit Graph

12 Commits

Author SHA1 Message Date
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
a751d36a0d Increase the cache size so eviction doesn't happen, and increase the
allowed pages for "success" so we don't randomly fail.  Closes #787.
2013-12-09 10:03:20 -05:00
Michael Cahill
b53a1748b5 Go back to "allocation_size" to avoid breaking the world. 2013-11-11 12:01:27 +11:00
Keith Bostic
67e2745a5f We no longer need os. 2013-11-10 13:10:38 -05:00
Keith Bostic
6808eb8eb8 Use statistics to figure out if compaction was successful, that means
we can test for success on tables, not just files.

Fix the verbose block manager code that displays where the available
space in the file lives to handle big memory chunks that cross lots
of different buckets.
2013-11-10 12:49:31 -05: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
7b8e1086a8 If the default leaf/internal page size is 4KB, then setting it to
something smaller requires setting the allocation size as well,
because page sizes must be multiples of the allocation size.
2013-05-23 12:32:21 -04:00
Keith Bostic
963d37a4e6 Update copyright notice to 2013. 2013-01-01 09:45:50 +00:00
Michael Cahill
a778e63a24 Test fixes now that populate inserts the requested number of records. 2012-12-11 16:54:04 +11:00
Keith Bostic
31c862d5e9 Remove trailing semi-colons & complain if they re-appear. 2012-11-29 17:05:17 +00:00
Keith Bostic
e68888dc26 Add a test to run the wt utility's compact command. 2012-10-16 17:43:42 +00:00
Keith Bostic
e3cd1cddcf Add a compaction smoke test, ref #248. 2012-10-16 12:44:59 +00:00