aboutsummaryrefslogtreecommitdiff
path: root/node.go
diff options
context:
space:
mode:
Diffstat (limited to 'node.go')
-rw-r--r--node.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/node.go b/node.go
index 5ad581e..e345d7f 100644
--- a/node.go
+++ b/node.go
@@ -215,8 +215,14 @@ func (n *node) split(pageSize int) []*node {
return nodes
}
- // Set fill threshold to 50%.
- threshold := pageSize / 2
+ // Determine the threshold before starting a new node.
+ var fillPercent = n.bucket.tx.db.FillPercent
+ if fillPercent < minFillPercent {
+ fillPercent = minFillPercent
+ } else if fillPercent > maxFillPercent {
+ fillPercent = maxFillPercent
+ }
+ threshold := int(float64(pageSize) * fillPercent)
// Group into smaller pages and target a given fill size.
size := pageHeaderSize