Skip to content

Commit

Permalink
fix(Concurrency): Multiple databases start ups in serial.
Browse files Browse the repository at this point in the history
This fix avoid parallel download of mongod binaries.
  • Loading branch information
nodkz committed Jun 6, 2017
1 parent 36874e2 commit a04a958
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ async function generateConnectionString(port: number, dbName: ?string): Promise<
}

export default class MongoDBMemoryServer {
static mongodHelperStartup: ?Promise<any>;
isRunning: boolean = false;
runningInstance: ?Promise<MongoInstanceDataT>;
opts: MongoMemoryServerOptsT;
Expand Down Expand Up @@ -111,9 +112,15 @@ export default class MongoDBMemoryServer {

mongodCli.debug.enabled = this.opts.debug;

if (this.constructor.mongodHelperStartup) {
await this.constructor.mongodHelperStartup;
}

// Download if not exists mongo binaries in ~/.mongodb-prebuilt
// After that startup MongoDB instance
await mongodCli.run();
const startupPromise = mongodCli.run();
this.constructor.mongodHelperStartup = startupPromise;
await startupPromise;

data.mongodCli = mongodCli;
data.tmpDir = tmpDir;
Expand Down

0 comments on commit a04a958

Please sign in to comment.