File: repair2.js

package info (click to toggle)
mongodb 1%3A2.0.6-1.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 17,204 kB
  • sloc: cpp: 109,783; ansic: 101,073; python: 2,287; perl: 395; makefile: 370; sh: 242; asm: 46
file content (29 lines) | stat: -rw-r--r-- 621 bytes parent folder | download
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
// SERVER-2843 The repair command should not yield.

baseName = "jstests_repair2";

t = db.getSisterDB( baseName )[ baseName ];
t.drop();

function protect( f ) {
 	try {
     	f();   
    } catch( e ) {
        printjson( e );
    }
}

s = startParallelShell( "db = db.getSisterDB( '" + baseName + "'); for( i = 0; i < 10; ++i ) { db.repairDatabase(); sleep( 5000 ); }" );

for( i = 0; i < 30; ++i ) {

	for( j = 0; j < 5000; ++j ) {
     	protect( function() { t.insert( {_id:j} ); } );
    }

	for( j = 0; j < 5000; ++j ) {
     	protect( function() { t.remove( {_id:j} ); } );
    }
    
	assert.eq( 0, t.count() );
}