accessing
resetPool
	"Assume primaryMember is up-to-date"
	pool ifNotNil: [ pool flush ].
	pool := VOMongoSessionPool
		host: self mongoUrlResolver primaryMongoUrl host 
		port: self mongoUrlResolver primaryMongoUrl port
		database: repository databaseName
		username: repository username 
		password: repository password.
	pool size: repository poolSize.
accessing
resetPool
	"Assume primaryMember is up-to-date"
	pool ifNotNil: [
		"VOMongoSessionPool>>#populate might run while we try to flush the
		pool. Make sure that 'new' sessions added to the old pool will be
		immediately disconnected instead of being leaked."
		pool
			size: 0;
			flush ].
	pool := VOMongoSessionPool
		host: self mongoUrlResolver primaryMongoUrl host 
		port: self mongoUrlResolver primaryMongoUrl port
		database: repository databaseName
		username: repository username 
		password: repository password.
	pool size: repository poolSize.
Fix concurrent pool flushing and population
Fix concurrent pool flushing and population

If VOMongoSessionPool>>#populate is executing/scheduled while we call "pool flush" we would disconnect all open connections, then fill up the pool and finally discard the session pool. This leads to leaked connections that will eventually cause the image to run out of external semaphores.
tinchodias/voyage,noha/voyage,noha/voyage,pharo-nosql/voyage,tinchodias/voyage