[email protected] / [email protected] ๋ฅผ ํ ์คํธํ ๋ ๋ค์์ ์ป์ต๋๋ค.
MongoError: XXXXXX์ ๋ํ ์ฐ๊ฒฐ 2๊ฐ ์๊ฐ ์ด๊ณผ๋์์ต๋๋ค.
Function.MongoError.create์์ (/node_modules/mongodb-core/lib/error.js:29:11)
์์ผ์์.(/node_modules/mongodb-core/lib/connection/connection.js:186:20)
Socket.g์์ (events.js:286:16)
emitNone์์ (events.js:86:13)
Socket.emit์์(events.js:185:7)
Socket._onTimeout์์ (net.js:333:8)
tryOnTimeout์์ (timers.js:224:11)
at Timer.listOnTimeout (timers.js:198:5)' } 'XXXXXX์ ๋ํ ์ฐ๊ฒฐ 2๊ฐ ์๊ฐ ์ด๊ณผ๋์์ต๋๋ค.
์ด๊ฒ์ [email protected] / [email protected]์์๋ ๋ฐ์ํ์ง ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์:
{
"socketOptions": {
"socketTimeoutMS": 240000,
"keepAlive": 10000,
"connectTimeoutMS" : 30000
}
[
{ $match: {
_id: { $lt: oid },
signature: { $exists: true }
}
},
{ $group: {
_id: { myid: '$myid', signature: '$signature' },
count: { $sum: 1 },
myid: { $first: '$myid' },
docs: { $push: { _id: '$_id', name: '$name' } }
}
},
{ $match: {
count: { $gt : 1 }
}
}
]
๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. [email protected] , [email protected]
[email protected] / [email protected] ๋ก ๋กค๋ฐฑํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ์ฆ, ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
[email protected] ์์ 2.2.12๋ก ํ์์์ ์ด๋ฒคํธ ๋ฆฌ์ค๋๊ฐ "ํ๋ฒ"์์ "์ผ๊ธฐ"๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์๋ง๋ ์ด๊ฒ๊ณผ ๊ด๋ จ์ด ์์๊น์?
์๋๋ฉด ์ด๊ฒ์ mongodb ๊ธฐ๋ณธ ๋๋ผ์ด๋ฒ์ ๋ฌธ์ ๋ก ๊ฒ์ํด์ผ ํฉ๋๊น?
@silentjohnny [email protected] ์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ
๋๋ mongodb ๋ค์ดํฐ๋ธ ๋๋ผ์ด๋ฒ์ ๋ฌธ์ ๋ฅผ ๊ฒ์ํ ๊ฒ์ ๋๋ค. mongoose๋ ์ด๊ธฐ ์ฐ๊ฒฐ ๋ฐฉ์์ผ๋ก ๋ง์ ์ผ์ ํ์ง ์์ต๋๋ค.
๊ธฐ์ด ํ. ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง๋ง [email protected] ์ ์ฌ์ฉํ๋ [email protected] ์ด์์์
[email protected] ๋ฐ [email protected] ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ํฉ๋๋ค! .
๋ด ์ง๊ณ ์ฟผ๋ฆฌ์๋ ์ต์
์ด ์์ผ๋ฏ๋ก ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋ง๋ ๊ทธ๊ฒ์ด ๋์ ์๋ ๋ฌธ์ @dcolens ์ ์ฐจ์ด์ ์ผ ๊ฒ์
๋๋ค.
๋ค์ดํฐ๋ธ ๋๋ผ์ด๋ฒ์๊ฒ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ ์ฌ๋์ด ์์ต๋๊น? ๋ฐ๋ผํ ์ ์๋๋ก...
์ง๊ธ์ [email protected] ์ ๋จธ๋ฌผ๊ณ ์์ต๋๋ค.
[email protected] ์ด [email protected] ์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์์ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์์ @1284917 ์คํ ์ ์๊ฐ ์ด๊ณผ ์ด๋ฒคํธ๋ฅผ ์์ฑํ๊ธฐ ์ํ ์์ ์ฌํญ์ด ํฌํจ๋ฉ๋๋ค.
๊ณง Mongoose๊ฐ [email protected] ๋ก ์ ๋ฐ์ดํธ๋๋ฏ๋ก ์๋ํด ๋ณด๊ฒ ์ต๋๋ค.
๋์๊ฒ๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์๊ฐ์ด ์ด๊ณผ๋๋ ์ฅ๊ธฐ ์คํ ์ง๊ณ์ธ์ง, ์๋๋ฉด ๋ฌด์์์ด๊ณ ์ค์ ์๊ฐ ์ด๊ณผ๊ฐ ์ ํ ์๋์ง ํ์คํ์ง ์์ต๋๋ค. ์ด๋ค ๋๋ ๊ฑฐ์ ์ฆ์ ์๊ฐ ์ด๊ณผ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ด๋ค ๋๋ 30์ด ์ ๋ ์คํ๋ฉ๋๋ค. ์ด ํน๋ณํ ๊ฒฝ์ฐ์๋ ํ ๋ฒ์ 4๊ฐ์ ์ง๊ณ.execs๊ฐ ์คํ๋ฉ๋๋ค.
[email protected] ๋ฐ [email protected] ๋ก ๋๋๋ฆฌ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฏ๋ก ์ง๊ธ์ ๊ทธ๋ ๊ฒ ํ๊ณ ์์ต๋๋ค.
mongoose 4.7.7์ด [email protected]๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ค์ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ฌธ์ ๊ฐ ์์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด๋ ์ชฝ์ด๋ , ์ด๊ฒ์ @vkarpov15 ๊ฐ ๋งํ ๊ฒ์ฒ๋ผ ์ค์ ๋ก ๋ชฝ๊ตฌ์ค ๋ฌธ์ ๊ฐ ์๋๋ผ mongodb์ ๊ด๋ จ์ด ์์ต๋๋ค. ์ง๊ธ์ ๋ซ์ผ๋ ค ํ์ง๋ง ๋ค์ ๋ฆด๋ฆฌ์ค ํ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํ๋ฉด mongodb ์ชฝ์์ ํฐ์ผ์ด๋ PR์ ์ด์ด์ผ ํฉ๋๋ค.
์ด ๋ฌธ์ ์๋ ๋์ ๋ณด์ด๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๊ฒ์ด ์์ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ชจ๋ ์ํฉ์์ ๋ฐ์ํ๋ ์ด๋ฌํ ์ง๊ณ ์๊ฐ ์ด๊ณผ๋ฅผ ์์ ํ ์ค์งํ๋ ค๋ฉด 4.4.20์ผ๋ก ๋๋๋ ค์ผ ํ์ต๋๋ค. 4.7.x์ 4.6.x๋ ๋ชจ๋ ์ฌ๋ฌ ๋์ ์คํ์ ์ผ๋ถ ์ํฉ์์ ๋งค์ฐ ๋น ๋ฅธ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ ๋ 4.5๋ฅผ ๊ฑด๋๋ฐ๊ณ ํ๋ก๋์ ์์ ์ฌ์ฉํ๊ณ ์๋ ์๋ ค์ง ์ํธํ ๋ฒ์ (4.4.20)์ผ๋ก ๋ฐ๋ก ๋์๊ฐ์ ๋ฌธ์ ๋ฅผ ์์ ํ ํด๊ฒฐํ์ง๋ง TBH ์ฌ์ ํ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ด๋ฆฌ๋ฅ์ ํฉ๋๋ค. ์ถ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์์ด ์ฃ์กํฉ๋๋ค๋ง mongoose๊ฐ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ mongodb ๋๋ผ์ด๋ฒ ๋ฒ์ ์๋ง ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ธ์ง ์๋๋ฉด ์์ ์ ๊ธฐ์ฌํ๋ ์์๊ฐ ๋ ์ด์์ธ์ง ํ์คํ์ง ์์ต๋๋ค. .
[email protected] ๋ฐ [email protected]์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ์์์์ ์ ๋ง ์ด์ํฉ๋๋ค. ์ด๊ฒ์ ๋งค์ฐ ์งง๊ณ (์ฝ 5์ด) ๋งค์ฐ ์ฌํ ๊ฐ๋ฅํ์ง๋ง ๋ค๋ฅธ ์ฟผ๋ฆฌ๋ 5์ด๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์๊ฐ ์ด๊ณผ๋์ง ์์ต๋๋ค.
๋๋ ์๊ฐ ์ด๊ณผ๊ฐ ์ข ์ข ๊ฐ์ง๋ผ๊ณ ํ์ ํฉ๋๋ค. ๋ด๊ฐ ๋ณด๊ณ ์๋ ํ ์๋๋ฆฌ์ค์์๋ ์ฝ 30์ด๊ฐ ์์๋๋ 4๊ฐ์ ๋์ ์ง๊ณ.exec ์์ ์ ์์ํ์ต๋๋ค. ํ๋๋ 8์ด ๋ง์ ํ์์์๋์๊ณ , ํ๋๋ 20์ด ๋ง์ ํ์์์๋์์ง๋ง, ๋๋จธ์ง 2๊ฐ๋ 30์ด ์์ ์ ์์ ์ผ๋ก ์๋ฃ๋์์ต๋๋ค. ๋ฐ๋ณตํ๋ฉด ๋ค๋ฅธ ์๊ฐ ์ด๊ณผ ์์๊ฐ ๋ฐ์ํ์ง๋ง ํญ์ ๋น์ทํ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํฉ๋๋ค. ์๊ฐ ์ด๊ณผ๊ฐ ์๋ชป๋ ์ฐ๊ฒฐ์์ ์๋ชป ์ค์ ๋์๊ฑฐ๋ ์์ ์ด ์๋ฃ๋ ๋ ์ ๊ฑฐ๋์ง ์์ ํ์ ์คํ์์ ์๊ธฐ์น ์๊ฒ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์จ๋ ๊ทธ๋ฐ ๊ฒ. ๋ถํํ๋ ์ง๊ธ์ ๊ทธ๊ฒ์ ์ถ๊ตฌํ ์๊ฐ์ด ์์ต๋๋ค.
[email protected] ์ด ์๊ฐ ์ด๊ณผ๋ฅผ ํด๊ฒฐํ ๊ฒ ๊ฐ์ต๋๋ค. @steve-p-com์ด ์ ์ํ๋ ๊ฒ์ฒ๋ผ 4.7.2์ ์๊ฐ ์ด๊ณผ๋ ์ค์ ๋ก ๊ฐ์ง์์ผ๋ฉฐ ์๋ชป๋ ์ฐ๊ฒฐ์์ ์ค๋ฅ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด๊ฒ์ [email protected] ์ ์ํด ํด๊ฒฐ๋์์ผ๋ฏ๋ก [email protected] ์ ๊ทํ์ ๊ฒฝ์ฐ์๋ ์ ์๋ํฉ๋๋ค. ํด๋น ๋ฒ์ ์ผ๋ก ํ ์คํธ๋ฅผ ์คํํ์ จ์ต๋๊น?
์์ง 4.7.9 ๋๋ 4.8.0์ ํ ์คํธํ์ง ์์์ง๋ง [email protected] ๊ฐ ํ๊ท๋ฅผ ๋์ ํ์ ์ ์์ต๋๋ค. ์ด๋ @flosky ๊ฐ ๊ฒช๊ณ ์๋ ๋ฌธ์ ๋ฅผ ์ค๋ช ํ ๊ฒ์ ๋๋ค. ํด๋น ์๊ฐ ์ด๊ณผ๋ [email protected]์์๋ ๋ฐ์ํฉ๋๊น?
์ค๋ 4.8.1๋ก ๋ค์ ํ ์คํธํ์ผ๋ฉฐ ์๊ธฐ์น ์์ ์๊ฐ ์ด๊ณผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค. ๋จผ์ ๋ชจ๋ npm ์บ์์ ์ ์บ์๋ฅผ ์ ๊ฑฐํ ๋ค์ node_modules๋ฅผ zappedํ ๋ค์ ๋ชจ๋ ๊ฒ์ ๋ค์ ์ค์นํ์ต๋๋ค. ์ฌํ๊น์ง๋ ๊ทธ๋ฐ๋๋ก ์๋๋ค.
4.8.1์์๋ ๋ฐ์ํฉ๋๋ค. ๋๋ Mongoose์ MongoDB์์ ์ฌ๋ฌ ๋ฒ์ ์ผ๋ก ๋์๊ฐ์ ํญ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
@thenitai ๋ ๋ง์ ์ปจํ ์คํธ๊ฐ ์์ต๋๊น / mongoDB ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ณผ ์ ์์ต๋๊น?
@varunjayaraman ๋๋ฉ์ธ ์ค๋ฅ ์ฝ๋๊ฐ ์ค๋ฅ๋ฅผ ํฌ์ฐฉํ์ฌ ์ฑ์ ๋ค์ ์์ํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์ ๋ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค.
์ฐ๊ฒฐ ์ค์ ์์ ๋ฌด์์ ํ์ธํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฐ๊ฒฐ ์ต์ ์ ๋ง์ํ์๋ ๊ฑด๊ฐ์? ๊ทธ๋ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
var dbOptions = {
db: { native_parser: true },
server: {
auto_reconnect: true,
socketOptions: {
keepAlive: 1,
connectTimeoutMS: 300000,
socketTimeoutMS: 300000
}
}
};
์ ๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ต์ ๋ฒ์ v4.8.4์์๋
๋ฐฉ๊ธ ๋ฌธ์ ๋ฅผ ์ฐพ์์ต๋๋ค. ์ ๊ฒฝ์ฐ์๋ ์๋ฒ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋๋ฌด ๋์์(ํญ์ 95%~99%) ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ฆฐ ํ ๋ ์ด์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค.
Mongoose 4.7.7
, MongoDB 3.4.1
๋ฐ Node 4.7.2
๊ฐ ์๋ ๋ด ์๋ฒ์์๋ ์ด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ์์ต๋๋ค. ๋ด ์๋ฒ์์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋์ผ๋ฉด ์๊ฐ ์ด๊ณผ๊ฐ ์ฐ์์ ์ผ๋ก ๋ฌด์์๋ก ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
CosWebsite-27 MongoError: connection 42 to 127.0.0.1:27017 timed out
CosWebsite-27 at Function.MongoError.create (/home/cos/cos/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:29:11)
CosWebsite-27 at Socket.<anonymous> (/home/cos/cos/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:186:20)
CosWebsite-27 at Socket.g (events.js:260:16)
CosWebsite-27 at emitNone (events.js:67:13)
CosWebsite-27 at Socket.emit (events.js:166:7)
CosWebsite-27 at Socket.wrapped (/home/cos/cos/node_modules/newrelic/lib/transaction/tracer/index.js:183:28)
CosWebsite-27 at Socket.wrappedEmit [as emit] (/home/cos/cos/node_modules/newrelic/lib/transaction/tracer/index.js:220:46)
CosWebsite-27 at Socket._onTimeout (net.js:333:8)
CosWebsite-27 at _runOnTimeout (timers.js:537:11)
CosWebsite-27 at _makeTimerTimeout (timers.js:528:3)
CosWebsite-27 at Timer.unrefTimeout (timers.js:597:5)
... times 6
CosWebsite-27 GET /clans/compas-c-r-98QP9J2G/members 500 10569.300 ms - 9893
CosWebsite-27 GET /players/1000-99JQVQ9VU 500 12388.484 ms - 9849
CosWebsite-27 GET /players/R0YUPPRR/profile 500 8204.622 ms - 9857
CosWebsite-27 GET /players/UG8YJUJY/profile 500 4622.819 ms - 9857
CosWebsite-27 GET /clans/next-state-P8RYGQYV 500 11526.859 ms - 9861
CosWebsite-27 GET /clans/YY2CCUVV 500 6755.380 ms - 9817
๋ณด์๋ค์ํผ ์์ฒญ์ 12์ด ์ด์ ์ง์๋์ง ์์์ต๋๋ค. ๋ด ๋ชฝ๊ตฌ์ค ์ปค๋ฅํฐ๋ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ๋ฉ๋๋ค.
const mongoDB = {
uri: "mongodb://127.0.0.1:27017/XXX",
options: {
host: '127.0.0.1',
port: '27017',
database: "XXX",
compression: false,
server: {
poolSize: 5,
auto_reconnect: true,
socketOptions: {
socketTimeoutMS: 0,
connectTimeoutMS: 0
}
},
promiseLibrary: Promise
}
};
๋ฌด์์ด ์๋ชป๋ ์ ์๋์ง ์ด๋ค ์๊ฐ์ด ์์ต๋๊น?
@adrianbaron ์ ๋์!!!
๋๊ตฐ๊ฐ ์ ๋ฅผ ๋์์ฃผ์ธ์.
๋๊ตฐ๊ฐ ๋ค์ดํฐ๋ธ mongo ๋๋ผ์ด๋ฒ์ ๊ฐ๋ฐ์์๊ฒ ๋ฒ๊ทธ ๋ณด๊ณ ์๋ฅผ ์ ์ถํ์ต๋๊น?
์ด ๋ฌธ์ ๊ฐ 4.9.1์ ์ฌ์ ํ ์กด์ฌํฉ๋๊น?
์, ๋ฌธ์ ๋ 4.9.1์ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค....
์ต์ mongoose ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ ํ ์ค๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. 4.7.1๋ก ๋ค์ ๋ค์ด๊ทธ๋ ์ด๋ํ๊ณ ๋ชจ๋ ๊ฒ์ด ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค!
์ด ๋ฌธ์ ๋ ์ผ๋ง ๋์ ํด๊ฒฐ๋์ง ์์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
์ธ์ ๊ฐ๋ ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธํ๊ณ ์ถ์ง๋ง ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ ๋๋ง ํ ์ ์์ต๋๋ค.
์ฝ ํ ๋ฌ ์ ์ Mongoose๋ฅผ 4.4.17์์ 4.7.9๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค. ๊ทธ ์ดํ๋ก ๋งค์ผ cronjob์ ์ค๋ฅ๊ฐ ์ธ ๋ฒ ๋ฐ์ํ์ผ๋ฉฐ ํญ์ mongo ์ฐ๊ฒฐ ์๊ฐ ์ด๊ณผ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Mongoose 4.7.1๋ก ์ ํํ๊ณ ์ด๊ฒ์ด ๋์์ด ๋๋์ง ํ์ธํ๊ฒ ์ต๋๋ค.
ํธ์ง: ์ค๋ฅ ๋ฉ์์ง
2017-04-19 03:09:23: You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection:
MongoError: connection 261 to localhost:27017 timed out
at Function.MongoError.create (/var/www/someproject/node_modules/mongodb-core/lib/error.js:29:11)
at Socket.<anonymous> (/var/www/someproject/node_modules/mongodb-core/lib/connection/connection.js:186:20)
at Socket.g (events.js:286:16)
at emitNone (events.js:86:13)
at Socket.emit (events.js:185:7)
at Socket._onTimeout (net.js:333:8)
at tryOnTimeout (timers.js:224:11)
at Timer.listOnTimeout (timers.js:198:5)
@centigrade-thomas-becker ํ๋ก๋์ ์์ ํ ๋ฌ ์ด์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ์ด์ 4.7.1๋ก ๋ค์ ์ ํํ์ต๋๋ค. ๋ ์ด์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค!
๋์ผํ ๋ฌธ์ ๊ฐ @ 4.7.7์์ ๋ฐ์ํฉ๋๋ค.
Mongo 4.7.1์์๋ 4.7.9๋ณด๋ค ๋ฌธ์ ๊ฐ ์ ์ง๋ง MongoDB์ ์ ์ฅํ ๋ ๊ฐ๋ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
2017-04-30 03:09:32: Error: connection timeout
at .<anonymous> (/var/www/someproject/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:168:17)
at emitTwo (events.js:106:13)
at emit (events.js:191:7)
at listener (/var/www/someproject/node_modules/mongodb/lib/db.js:1791:14)
at emitOne (events.js:96:13)
at emit (events.js:188:7)
at .<anonymous> (/var/www/someproject/node_modules/mongodb/lib/server.js:270:14)
at g (events.js:286:16)
at emitOne (events.js:96:13)
at emit (events.js:188:7)
at .<anonymous> (/var/www/someproject/node_modules/mongodb-core/lib/topologies/server.js:322:12)
at emitOne (events.js:96:13)
at emit (events.js:188:7)
at .<anonymous> (/var/www/someproject/node_modules/mongodb-core/lib/connection/pool.js:271:12)
at g (events.js:286:16)
at emitTwo (events.js:106:13)
at emit (events.js:191:7)
at Socket.<anonymous> (/var/www/someproject/node_modules/mongodb-core/lib/connection/connection.js:175:10)
at Socket.g (events.js:286:16)
at emitNone (events.js:86:13)
at Socket.emit (events.js:185:7)
at Socket._onTimeout (net.js:333:8)
at tryOnTimeout (timers.js:224:11)
at Timer.listOnTimeout (timers.js:198:5)
Ubuntu 15.04๋ฅผ ์คํํ๋ Linux VM์์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ค์๊ณผ ๋์ผ:
โโโฌ [email protected]
โ โโโฌ [email protected]
โ โ โโโ [email protected]
๋ชฝ๊ณ ๋ฒ์ @ 3.2.11
AWS EC2์์.
์
๋ฐ์ดํธ/ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? keepAlive: true
์ด(๊ฐ) ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ๊น์?
์ด๊ฒ์ด ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๋์ง ํ์คํ์ง ์์ง๋ง ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ options.server
๋ฅผ ํตํด ํ์์์ ๋งค๊ฐ๋ณ์( socketTimeoutMS
๋ฑ)๋ฅผ ์ ๋ฌํ๊ณ ์์์ ์์์ต๋๋ค. ์ด๊ฒ์ _ํ๋ ธ์ต๋๋ค_! ์ฐ๋ฆฌ๋ ๋ณต์ ์ธํธ๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ์ต์
์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ๋ก ๋ณต์ ๋ณธ ๋๋ ์ผ๋ฐ ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์๋ ๊ธฐ๋ฅ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ค์์ ์ํํ์ต๋๋ค.
const serverOptions = {
poolSize: 100,
socketOptions: {
socketTimeoutMS: 60000
}
};
mongoose.createConnection(dbpath, {
server: serverOptions,
replset: serverOptions
});
๊ทธ๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
์ฌ๋ฌ๋ถ, ์๋
ํ์ธ์,
๋ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํธ์คํ
ํ๊ธฐ ์ํด mlab์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
Mongo DB ์ฐ๊ฒฐ ์ค๋ฅ: {[MongoError: ds155841.mlab์ ๋ํ ์ฐ๊ฒฐ 0. com:xxxxx ์๊ฐ ์ด๊ณผ'}
@RemeAjayi ์ด๊ฑด ์ด ํฐ์ผ๊ณผ ๊ด๋ จ์ด ์๋ ๊ฒ ๊ฐ์์.
๋ฌธ์ ๋ฅผ ํํค์น ํ ๋ค๋ฅธ ๊ฒ์ ์๋/์์ฑํด์ผ ํฉ๋๋ค.
@ht2 ๋น์ ์ด ๋ด ํ๋ฃจ๋ฅผ ๊ตฌํ์ต๋๋ค โค๏ธ
์๋ ๋ฌธ์ ์ ๋ํ ์คํ ๊ฐ๋ฅํ ์๋ฃจ์ ์ด ์์ต๋๊น?
๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๋ ๊ฒฝ์ฐ 2๊ฐ์ ์์ธํ find()
์ฟผ๋ฆฌ(Promise ํจํด ์ฌ์ฉ)๋ฅผ ๋ณ๋ ฌํํ ๋ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ ํ
Promise.all([
col1.find({longQuery: true}),
col2.find({longQuery: true})
])
.spread(function(result1, result2) {
//stuff
});
์์ฐจ์ ์ ๊ทผ์ผ๋ก
col1.find({longQuery: true})
.then(function(result1) {
return Promise.all([
result1,
col2.find({longQuery: true})
]);
})
.spread(function(result1, result2) {
//stuff
});
์๋์์ผฐ๋ค
@cyrilchapon ์ ๊ทธ๊ฒ์ด ๋๋ฅผ ์ํด ํจ๊ณผ๊ฐ ์๋ค๊ณ ์๊ฐํ์ง๋ง ์์ฐจ์ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ๋ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค./
๊ฐํ์ ์ ๋๋ค..๋๋ก๋ ์๋ํ๊ณ ,๋๋ก๋ ํ์์์..
์ ์ด๋ ๊ฒ ์กฐ์ฉํ ๋ซ์ต๋๊น?
๋ด ์ด์ ๋๊ธ์ ๋ํ ํ์ ์กฐ์น https://github.com/Automattic/mongoose/issues/4789#issuecomment -298849907
๋ฌธ์ ๊ฐ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ ๋จธ์ ์์ ์๋ก์ด Linux, nodeJS ๋ฐ mongoDB๊ฐ ์๋ ๋์ปค ์ปจํ ์ด๋๋ก ์ฎ๊ฒผ์ต๋๋ค. ํ๋ฃจ ์ข ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ฅด๊ณ ๋ค์ ์ฑ์ฐ๋ ๊ฒ ์ธ์๋ ์๋ฌด๊ฒ๋ ํ์ง ์๋ ์คํธ๋ ์ค ํ ์คํธ๋ฅผ ๋ง๋ค์์ต๋๋ค. 6000๋ฒ์ ํ ์คํธ ์คํ ์ค ์ฝ 1๋ฒ์ ์๊ฐ ์ด๊ณผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
๋๋ ๋์ ๋ง์ง๋ง ์ฝ๋ฉํธ ์ดํ์ ๊ฐ์ ๊ฒฝํ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ธ๊ธํ๋ ๊ฒ์ ์์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ ธ๋๋ฅผ ๋ค๋ฅธ ๋ชจ๋ dep์ ํจ๊ป ์ต์ ๋ฒ์ ์ค ํ๋๋ก ์ ๋ฐ์ดํธํ๋ฉด ๋ถ๋ช ํ ํธ๋ฆญ์ ์ํํ์ต๋๋ค.
์ด์ ์์ ์ค๋ช ๊ณผ ํจ๊ป ๋ ๊ฑฐ์ ์ค๋ฅ์ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
mongo 3.6.2
๋ฐ mongoose 4.9.2
์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ถ๊ฐ ์ฐ๊ฒฐ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ์ฌ ์์ ํ์ต๋๋ค.
MONGO_URI=mongodb://user:[email protected]:27017/dbname?keepAlive=true&poolSize=30&autoReconnect=true&socketTimeoutMS=360000&connectTimeoutMS=360000
@mzahidriaz ๊ฐ์ฌํฉ๋๋ค ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์ง๋ง์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํด๋น ๋งค๊ฐ ๋ณ์๋ฅผ ์ ํํ ๋ฐฉ๋ฒ์ ๋ํ ๋งํฌ๋ฅผ ์ค๋ช ํ๊ฑฐ๋ ์ฐธ์กฐํ ์ ์์ต๋๊น?
@MinhNguyen41092 ํ์ฌ ์ ์ผํ ๋ฌธ์๋ MongoDB ๋๋ผ์ด๋ฒ ๋ฌธ์ http://mongodb.github.io/node-mongodb-native/3.1/api/MongoClient.html#connect ์ ๋๋ค. ์ด์ ๋ํ ์ธ๋ถ ์ ๋ณด๋ฅผ http://mongoosejs.com/docs/connections.html ์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
๊ฐํ์ ์ธ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ์ฌ๋๋ค์ ์ํด ํน์ ํ๊ฒฝ์์ mongodb-2.2.35 mongodb-core-2.1.19์ ํจ๊ป mongoose-4.13.11์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ํ ์คํธ ์ค์ํธ์ ๋ค๋ฅธ ์ง์ ์์ ๋ค์ํ ์ฟผ๋ฆฌ๋ฅผ ์ํํ์ง๋ง ๋๋ถ๋ถ์ ๋ ๋ฌด๊ฑฐ์ด ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ๋ณ๋ ฌ IIRC์์ ์์ ์ ์ํํ๋ ์ฑ์ ํน์ ๋ถ๋ถ์ ํ ์คํธํ์ง๋ง ๋ชจ๋ ์ด ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ฒด ํ ์คํธ ์ค์ํธ๋ ์คํํ๋ ๋ฐ 15์ด๋ ๊ฑธ๋ฆฌ์ง ์์ผ๋ฏ๋ก ์ฒ์๋ถํฐ ๊ธฐ๋ณธ ์ ๊ณต๋๋ ๊ธฐ๋ณธ 30์ด ์ ํ ์๊ฐ์ ๋๋ฌํ์ด์ผ ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
MongoError: connection 0 to localhost:27017 timed out
at Function.MongoError.create (node_modules/mongoose/node_modules/mongodb-core/lib/error.js:29:11)
at Socket.<anonymous> (node_modules/mongoose/node_modules/mongodb-core/lib/connection/connection.js:200:20)
at Socket._onTimeout (net.js:448:8)
์ด๊ฒ์ CI ํ ์คํธ ๋น๋ ์๋ฒ์์๋ง ๋ฐ์ํ์ต๋๋ค. ๋ด ๊ฐ๋ฐ ์ปดํจํฐ์์ ์ฌํํ ์ ์์ต๋๋ค.
(๋ด ์์คํ (๋น๊ณต๊ฐ ์ ์ฅ์, ์ด๊ฒ์ ๋ค์ ํํค์ณ์ผ ํ ๊ฒฝ์ฐ์ ๋๋นํ์ฌ ๋ด ์ฐธ์กฐ์ฉ์)์์ ์ด ์ค๋ฅ๋ ์ ์ด๋ ๋น๋ ๋ฒํธ๊ฐ 358, 356, 355, 352์ธ ๊ฒฝ์ฐ์ ๋ํ๋ฉ๋๋ค.
useMongoClient: true
๋ฅผ ์ผ๊ณ ๋๋ฉด ์ง๊ธ๊น์ง์ CI ํ๊ฒฝ์์ ํ
์คํธ๋ฅผ ์์ ์ ์ผ๋ก ํต๊ณผํ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ ๋จ์ง ๊ทธ ๋ณ๊ฒฝ์ผ๋ก 3๋ฒ์ ์ฑ๊ณต์ ์ธ ์คํ์ ๊ฐ์ก์ง๋ง ๋ง์ ์ด์ ์ ์์ฐจ ์คํ์ ์ด์ํ ์๊ฐ ์ด๊ณผ ์ค๋ฅ๋ก ์ธํด ์คํจํ์ต๋๋ค.
@thenitai @steve-p-com @adrienbaron ๋ ์ด์ํ ๊ฐ์ง ํ์์์์ ๊ฒฝํํ๊ณ ์์๋ ๊ฒ ๊ฐ์์. useMongoClient: true
๋ฅผ ์ต์
์ผ๋ก ๊ฐ์ ธ์จ 4.11์ด ๋์ค๊ธฐ ์ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ด ์ํฌ๋ก๋์ ์ํฅ์ ๋ฏธ์ณค๋์ง ์ ์ ์์ต๋๊น?
[email protected]
[email protected]
๋ชฝ๊ตฌ์ค@4.9.10
๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋กค ๋ฐ์์ ๋ฉฐ์น ๋์ 150๋ง ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ฐ ๋ฌด์์ ์ฐ๊ฒฐํ ์ ์์ต๋๊น? ์ด๋ป๊ฒ ํด๊ฒฐํฉ๋๊น?
@SergeyVatz ๋ #5376์์ ๊ทํ์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ์ฐธ์กฐํ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ฌธ์ ๋ ์ผ๋ง ๋์ ํด๊ฒฐ๋์ง ์์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
์ธ์ ๊ฐ๋ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๊ณ ์ถ์ง๋ง ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ ๋๋ง ํ ์ ์์ต๋๋ค.