summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBen Becker <ben.becker@10gen.com>2012-11-16 13:05:50 -0800
committerBen Becker <ben.becker@10gen.com>2012-11-16 13:42:55 -0800
commit6b5cf42aeebe056b8905ad82b79d0612e7d8d7c3 (patch)
tree4abe5ba92bef80ebb30d131884279380a9728652 /src
parent792e4ec3782ff1019067efeaa0432c951180b058 (diff)
downloadmongo-6b5cf42aeebe056b8905ad82b79d0612e7d8d7c3.tar.gz
SERVER-7159: make largest freelist bucket 16mb
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/namespace_details.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mongo/db/namespace_details.cpp b/src/mongo/db/namespace_details.cpp
index bd38b666f3e..6175dbd3513 100644
--- a/src/mongo/db/namespace_details.cpp
+++ b/src/mongo/db/namespace_details.cpp
@@ -36,14 +36,16 @@ namespace mongo {
BSONObj idKeyPattern = fromjson("{\"_id\":1}");
- /* deleted lists -- linked lists of deleted records -- are placed in 'buckets' of various sizes
- so you can look for a deleterecord about the right size.
+ /* Deleted list buckets are used to quickly locate free space based on size. Each bucket
+ contains records up to that size. All records > 4mb are placed into the 16mb bucket.
*/
int bucketSizes[] = {
- 32, 64, 128, 256, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000,
- 0x8000, 0x10000, 0x20000, 0x40000, 0x80000, 0x100000, 0x200000,
- 0x400000, 0x800000
- };
+ 0x20, 0x40, 0x80, 0x100,
+ 0x200, 0x400, 0x800, 0x1000,
+ 0x2000, 0x4000, 0x8000, 0x10000,
+ 0x20000, 0x40000, 0x80000, 0x100000,
+ 0x200000, 0x400000, 0x1000000,
+ };
NamespaceDetails::NamespaceDetails( const DiskLoc &loc, bool capped ) {
/* be sure to initialize new fields here -- doesn't default to zeroes the way we use it */