summaryrefslogtreecommitdiff
path: root/test/salvage
diff options
context:
space:
mode:
authorKeith Bostic <keith.bostic@wiredtiger.com>2011-09-23 11:52:33 +0000
committerKeith Bostic <keith.bostic@wiredtiger.com>2011-09-23 11:52:33 +0000
commit94eff05b6b2d8f2f4a5e9975f09fb9c74a3cf03a (patch)
tree801550282f5b18271e34217a3e990a7c1ded6d84 /test/salvage
parent201c686ecee65e7af669ee14d53d16418db94a50 (diff)
downloadmongo-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.c19
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);