summaryrefslogtreecommitdiff
path: root/jstests/disk/preallocate.js
blob: 4f358664a5a9d8f3dde7465c0e7b401166be5d8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// check that there is preallocation on explicit createCollection() and no unncessary preallocation after restart

port = allocatePorts( 1 )[ 0 ];

var baseName = "jstests_preallocate";

var m = startMongod( "--port", port, "--dbpath", "/data/db/" + baseName );

assert.eq( 0, m.getDBs().totalSize );

m.getDB( baseName ).createCollection( baseName + "1" );

expectedMB = 100;
if ( m.getDB( baseName ).serverBits() < 64 )
    expectedMB /= 4;

assert.soon( function() { return m.getDBs().totalSize > expectedMB * 1000000; }, "\n\n\nFAIL preallocate.js expected second file to bring total size over " + expectedMB + "MB" );

stopMongod( port );

var m = startMongoProgram( "mongod", "--port", port, "--dbpath", "/data/db/" + baseName );

size = m.getDBs().totalSize;

m.getDB( baseName ).createCollection( baseName + "2" );

sleep( 2000 ); // give prealloc a chance

assert.eq( size, m.getDBs().totalSize );