diff options
author | Keith Bostic <keith.bostic@wiredtiger.com> | 2011-09-23 11:52:33 +0000 |
---|---|---|
committer | Keith Bostic <keith.bostic@wiredtiger.com> | 2011-09-23 11:52:33 +0000 |
commit | 94eff05b6b2d8f2f4a5e9975f09fb9c74a3cf03a (patch) | |
tree | 801550282f5b18271e34217a3e990a7c1ded6d84 /test/salvage | |
parent | 201c686ecee65e7af669ee14d53d16418db94a50 (diff) | |
download | mongo-94eff05b6b2d8f2f4a5e9975f09fb9c74a3cf03a.tar.gz |
Replace internal_node_min/leaf_node_min (the minimum page size)
configuration with internal_overflow_size/leaf_overflow_size (explicit
configuration of the size of an overflow item.
Fix a bug where we never actually paid any attention to the internal
overflow item size, even though we set it.
Delete the split_min debugging configuration string: the problem is that
small pages now have to be set in concert with the overflow size, if
there is an overflow size that's relatively large, and we create a split
page smaller than an item which is itself smaller than the overflow
size, the item will never fit on the page and we loop forever. I
haven't chased any bugs in reconciliation's page size in quite awhile,
hopefully split_min is no longer interesting.
Write a basic performance tuning page for the documentation.
--HG--
extra : rebase_source : 0825ab4ff58b2dcb18675290f299fad0f5eaaae7
Diffstat (limited to 'test/salvage')
-rw-r--r-- | test/salvage/salvage.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/test/salvage/salvage.c b/test/salvage/salvage.c index 5f602f2b392..6fc05f8345d 100644 --- a/test/salvage/salvage.c +++ b/test/salvage/salvage.c @@ -25,6 +25,7 @@ #define SLVG "__slvg.build" /* Salvage file */ #define PSIZE (2 * 1024) +#define OSIZE (PSIZE / 20) void build(int, int, int); void copy(u_int, u_int); @@ -448,25 +449,25 @@ build(int ikey, int ivalue, int cnt) (void)snprintf(config, sizeof(config), "key_format=r,value_format=7t," "allocation_size=%d," - "internal_node_min=%d,internal_node_max=%d," - "leaf_node_min=%d,leaf_node_max=%d", - PSIZE, PSIZE, PSIZE, PSIZE, PSIZE); + "internal_node_max=%d,internal_overflow_size=%d," + "leaf_node_max=%d,leaf_overflow_size=%d", + PSIZE, PSIZE, OSIZE, PSIZE, OSIZE); break; case WT_PAGE_COL_VAR: (void)snprintf(config, sizeof(config), "key_format=r," "allocation_size=%d," - "internal_node_min=%d,internal_node_max=%d," - "leaf_node_min=%d,leaf_node_max=%d", - PSIZE, PSIZE, PSIZE, PSIZE, PSIZE); + "internal_node_max=%d,internal_overflow_size=%d," + "leaf_node_max=%d,leaf_overflow_size=%d", + PSIZE, PSIZE, OSIZE, PSIZE, OSIZE); break; case WT_PAGE_ROW_LEAF: (void)snprintf(config, sizeof(config), "key_format=u," "allocation_size=%d," - "internal_node_min=%d,internal_node_max=%d," - "leaf_node_min=%d,leaf_node_max=%d", - PSIZE, PSIZE, PSIZE, PSIZE, PSIZE); + "internal_node_max=%d,internal_overflow_size=%d," + "leaf_node_max=%d,leaf_overflow_size=%d", + PSIZE, PSIZE, OSIZE, PSIZE, OSIZE); break; default: assert(0); |