Итак, у меня есть набор тестов огурцов, а в разделе BeforeFeatures
я создаю соединения с 2 базами данных на одном сервере, я установил объединение в 2, чтобы я мог видеть, когда я подключаю 4 подключения (2 базы данных с 2 пулами).Соединения Mongodb, не закрывающиеся в тестах nodejs
Затем в конце я закрываю базы данных следующим образом:
var closeDatabase = function(callback) {
db1.close(function(){
db2.close(function(){
console.log("DONE");
callback();
});
});
};
Теперь это вызывается, и я вижу выход консоли и процесс закрывается, так как соединения с базой данных должны быть закрыты. Однако если посмотреть на журналы MongoDB:
2016-01-14T11:45:05.813+0000 [initandlisten] MongoDB starting : pid=888 port=27017 dbpath=C:\Tools\mongodb\data 64-bit host=SomePC
2016-01-14T11:45:05.818+0000 [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-01-14T11:45:05.821+0000 [initandlisten] db version v2.6.7
2016-01-14T11:45:05.822+0000 [initandlisten] git version: a7d57ad27c382de82e9cb93bf983a80fd9ac9899
2016-01-14T11:45:05.826+0000 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_49
2016-01-14T11:45:05.829+0000 [initandlisten] allocator: system
2016-01-14T11:45:05.830+0000 [initandlisten] options: { storage: { dbPath: "C:\Tools\mongodb\data" } }
2016-01-14T11:45:05.846+0000 [initandlisten] journal dir=C:\Tools\mongodb\data\journal
2016-01-14T11:45:05.848+0000 [initandlisten] recover : no journal files present, no recovery needed
2016-01-14T11:45:05.871+0000 [initandlisten] waiting for connections on port 27017
2016-01-14T11:45:11.639+0000 [initandlisten] connection accepted from 127.0.0.1:51841 #1 (1 connection now open)
2016-01-14T11:45:11.646+0000 [conn1] end connection 127.0.0.1:51841 (0 connections now open)
2016-01-14T11:45:11.650+0000 [initandlisten] connection accepted from 127.0.0.1:51842 #2 (1 connection now open)
2016-01-14T11:45:11.653+0000 [initandlisten] connection accepted from 127.0.0.1:51843 #3 (2 connections now open)
2016-01-14T11:45:11.659+0000 [initandlisten] connection accepted from 127.0.0.1:51844 #4 (3 connections now open)
2016-01-14T11:45:11.662+0000 [conn4] end connection 127.0.0.1:51844 (2 connections now open)
2016-01-14T11:45:11.665+0000 [initandlisten] connection accepted from 127.0.0.1:51845 #5 (3 connections now open)
2016-01-14T11:45:11.669+0000 [initandlisten] connection accepted from 127.0.0.1:51846 #6 (4 connections now open)
2016-01-14T11:45:11.689+0000 [conn5] end connection 127.0.0.1:51845 (3 connections now open)
2016-01-14T11:45:11.689+0000 [conn6] end connection 127.0.0.1:51846 (3 connections now open)
2016-01-14T11:45:11.690+0000 [conn2] end connection 127.0.0.1:51842 (3 connections now open)
2016-01-14T11:45:11.690+0000 [conn3] end connection 127.0.0.1:51843 (3 connections now open)
Так в конце, хотя 2 соединения закончились, кажется, оставить 3 из 4 соединений активных. Это говорит о том, что если мы посмотрим на порты, кажется, что он активирует 6 портов, хотя он имеет только 4 соединения.
Как это распространено? я должен беспокоиться, или я делаю что-то неправильно? Вся причина это вопрос, потому что, когда я пытаюсь использовать соединение, я получаю ошибку:
MongoError: server localhost:27017 sockets closed
Так что я немного озадачен, почему его, казалось бы, более-выделения и бомбардировок, когда я пытаюсь для использования соединений.