summaryrefslogtreecommitdiff
path: root/jstests/disk/quota2.js
blob: a5f07abec8a8560443b21236ecdc7ab86b408cbb (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
30
31
32
33
34
35
36
// Test for quotaFiles off by one file limit issue - SERVER-3420.

if ( 0 ) { // SERVER-3420

port = allocatePorts( 1 )[ 0 ];

baseName = "jstests_disk_quota2";
dbpath = MongoRunner.dataPath + baseName;

m = startMongod( "--port", port, "--dbpath", MongoRunner.dataPath + baseName, "--quotaFiles", "2", "--smallfiles" );
db = m.getDB( baseName );

big = new Array( 10000 ).toString();

// Insert documents until quota is exhausted.
while( !db.getLastError() ) {
    db[ baseName ].save( {b:big} );
}

db.resetError();

// Trigger allocation of an additional file for a 'special' namespace.
for( n = 0; !db.getLastError(); ++n ) {
	db.createCollection( '' + n );
}

// Check that new docs are saved in the .0 file.
for( i = 0; i < n; ++i ) {
    c = db[ ''+i ];
    c.save( {b:big} );
    if( !db.getLastError() ) {
	    assert.eq( 0, c.find()._addSpecial( "$showDiskLoc", true )[ 0 ].$diskLoc.file );
    }
}

}