Mongoose: 切断埌に再接続しないでください

䜜成日 2016幎10月26日  Â·  47コメント  Â·  ゜ヌス: Automattic/mongoose

4.4.11から> = 4.6.1にアップグレヌドした埌、ランダムに切断され、マングヌスは再接続したせん。

マングヌスバヌゞョン4.6.5
mongodbバヌゞョン3.2.9

これは私が接続を䜜成する方法です

    var uri = 'mongodb://USENAME:PASSWORD<strong i="9">@host1</strong>:port1,host2:port2/database?authSource=admin';

    var options = {};
    options.server = {
      auto_reconnect: true,
      poolSize: 5,
      socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 },
      reconnectTries: 3000
    };

    options.replset = {
      auto_reconnect: true,
      poolSize: 5,
      socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 },
      reconnectTries: 3000
    };

    var db = mongoose.createConnection(uri, options);

    mongoose.connection.on('error', function(err) {
      console.log('MONGODB ERROR MONGOOSE LEVEL ' + server, err);
    });

    db.on('connecting', function() {
      console.info('MONGODB ' + server + ' connecting.');
    });

    db.on('error', function(err) {
      console.log('MONGODB ERROR ' + server, err);
    });

    db.on('close', function(err) {
      console.log('MONGODB CLOSE ' + server, err);
    });

    db.on('connected', function() {
      console.info('MONGODB ' + server + ' connected successfully.');
    });

    db.once('open', function callback() {
      console.info('MONGODB ' + server + ' opened successfully.');
    });

    db.on('reconnected', function() {
      console.info('MONGODB ' + server + ' reconnected.');
    });

    db.on('timeout', function() {
      console.info('MONGODB ' + server + ' timeout.');
    });

    db.on('disconnected', function() {
      console.info('MONGODB ' + server + ' disconnected');
    });

これは私が埗る䞀連のむベントです

pid:3429 MONGODB geo_uri connected successfully.
pid:3429 MONGODB geo_uri opened successfully.
pid:3429 MONGODB dashboards_db connected successfully.
pid:3429 MONGODB dashboards_db opened successfully.
pid:3429 MONGODB tweet_analytics_db connected successfully.
pid:3429 MONGODB tweet_analytics_db opened successfully.
pid:3429 MONGODB fullcontact_enrichment_db disconnected
pid:3429 MONGODB ERROR fullcontact_enrichment_db { [MongoError: no valid replicaset members found]
  name: 'MongoError',
  message: 'no valid replicaset members found' }
pid:3429 MONGODB uri connected successfully.
pid:3429 MONGODB uri opened successfully.
pid:3429 MONGODB sync_reports_db connected successfully.
pid:3429 MONGODB sync_reports_db opened successfully.
pid:3429 MONGODB uri disconnected
pid:3429 MONGODB CLOSE uri

その埌、切断されたデヌタベヌスはどれも再接続したせん。 問題のランダムな性質のため、それを再珟するためのコヌドを提䟛するこずはできたせん。 node.jsレベル皋床で飜和しおいるものがあるのではないかず思いたす。 切断の原因ずは関係なく、自分自身を再接続するためにできるこずはありたすか

最も参考になるコメント

@Koslunフォヌクは

これが私の゜ケットオプションが今どのように芋えるかです。

    var opts = {
      server: {
        socketOptions: {
          keepAlive: 1,
          socketTimeout: 0
        }
      },
      replSet: {
        socketOptions: {
          keepAlive: 1,
          socketTimeout: 0
        }
    }

党おのコメント47件

+1、この問題に関連しお過去5日間に2回の停止がありたした。 珟圚の回避策は、 disconnectedむベントが発行されたずきに、プロセスを明瀺的にクラッシュさせるこずです process.exit(0) 。 その埌、プロセスが再開され、接続が正垞に再開されたす。

私の掚枬では、mongooseは再接続を詊みたすが、 reconnectTries * reconnectInterval間隔内で倱敗し、このリグレッションのためにerrorむベントは発行されたせんhttps://github.com/Automattic/mongoose/pull / 4653。 私が知らないのは、なぜマングヌス/モンゎがランダムに切断されるのかずいうこずです。以前はこのような動䜜はありたせんでした。
どのモンゎホスティングを実行しおいたすか mLab

AWSでホストしおいたす。 残念ながら、 process.exit(0)は私たちの遞択肢ではありたせん。

4653で倉曎を適甚し、同じ動䜜をしたした。 数時間埌の切断

2016-10-27T11:26:42 pid:5276 MONGODB sync_reports_db connected successfully.
2016-10-27T11:26:42 pid:5276 MONGODB sync_reports_db opened successfully.
.... 2 hours later
2016-10-27T13:45:45 pid:5276 MONGODB sync_reports_db disconnected
2016-10-27T13:45:45 pid:5276 MONGODB CLOSE sync_reports_db

errorむベントは発行されたせんか  disconnectedから30秒埌のはずです

いいえ、問題の説明にあるコヌドをご芧ください。 私が䜕か間違ったこずをしおいない限り、 errorむベント甚のむベントハンドラヌがありたす。 実際、プロセスはただ実行䞭であり、マングヌスは他のむベントをトリガヌしおいたせん。

4.6.5以降、ここ数日同じ問題が発生しおいたす。ランダムに切断されるず、ノヌドプロセスがスタックしたす。 ただし、 errorむベントはありたせん。 4.5.3戻すず機胜したす。

@lorisはこれが4.6.6 https://github.com/Automattic/mongoose/commit/f7ebee0c992c45cdb27ba7f0675556b980cddaadに関連しおい

@mckはい、 https//github.com/Automattic/mongoose/commit/f7ebee0c992c45cdb27ba7f0675556b980cddaadは、mongodb接続の再詊行メカニズムが倱敗したずきにerrorむベントが発行されない問題を修正したした。 しかし、そもそもなぜランダムな切断が発生しおいるのかわかりたせん。@ vkarpov15ずいうアむデアはありたすか

fwiw、保存/曎新操䜜玄650kbの曞き蟌みを実行しようずするず、40〜50の確率で発生したした

ええ、私は本圓に倚くの良いアむデアを持っおいたせん。 接続でclose()を呌び出しおから、もう䞀床自分でconnect()呌び出すこずができたす。 @loris倧量の保存/曎新がこれを匕き起こしおいるように芋える、同様の経隓がありたすか

私たちもこれに盎面しおいたす。 サヌビスの1぀で、゚ラヌむベントds0XXXXX-a0.mongolab.com:XXXXXぞの接続Nがタむムアりトが発生し、その埌に切断むベントが発生したす。 そしお、接続が再確立されるこずはありたせん。 別のサヌビスでは、DBに察する倧量の芁求、぀たり2Mレコヌドの削陀埌に、切断むベントが発生したす。 そしお、再接続できたせんmongoose 4.6.6、DBバヌゞョン3.0.12。

数分前に、mLabでもmongodbを実行しおいるこずが再び発生したしたこれが関連しおいるかどうかはわかりたせん。 重いク゚リを実行したしたが、タむムアりトしたした unhandledRejection { MongoError: connection 0 to ds****-a0.mongolab.com:**** timed out } 、 disconnectedむベントは適切に発行されたしたが、その埌は䜕もありたせん、 error 、 reconnectedなどはありたせん。したがっお、このWebサヌバヌはHTTPリク゚ストを実行および受信し続けたしたが、バッファリングされお返されないマングヌスク゚リを実行し続けたため、再起動するたですべおタむムアりトしたした。

マングヌスのセットアップノヌド7.0.0では4.6.5

const mongoConnectOpts = { reconnectTries: 10, reconnectInterval: 500, socketOptions: { keepAlive: 300000, connectTimeoutMS: 30000 } };
mongoose.connect(process.env.MONGODB_URI, { server: mongoConnectOpts, replset: mongoConnectOpts });
mongoose.connection.on('error', err => {
  console.log({ event: 'mongoose:error', ...err });
  process.exit(0);
});
mongoose.connection.on('connected', () => console.log({ event: 'mongoose:connected' }));
mongoose.connection.on('disconnected', () => console.log({ event: 'mongoose:disconnected' }));
mongoose.connection.on('reconnected', () => console.log({ event: 'mongoose:reconnected' }));

䞀時的な回避策は、 disconnectedむベントでもprocess.exit(0)実行しお、Webサヌバヌを匷制的に再起動しお新しいmongodb接続をセットアップするこずです。 䜕か案は

ええ、私は以前にmlabでこの皮のこずが起こっおいるず聞いたこずがありたす。 この堎合、TBHはサヌバヌをクラッシュさせお再起動するだけで、本圓に遅いむらのあるネットワヌクはmongodbドラむバヌに問題を匕き起こす傟向があり、これをデバッグするにはmlabずの調敎が必芁になるず思いたす。

珟圚䜕が問題なのかmongoose、mongo driver、mlab、herokuはわかりたせんが、過去数日間、重いmongooseク゚リを実行するWebリク゚ストを実行するず応答に30秒以䞊かかる、herokuリク゚ストがトリガヌされたすタむムアりトこれは、30秒以䞊かかるWebリク゚ストをタむムアりトするherokuのメカニズムです。 そのWebリク゚ストがタむムアりトになるず、マングヌスク゚リを必芁ずするそのサヌバヌ䞊の埌続のWebリク゚ストもタむムアりトしたす。 実際の問題は、ZEROむベントがマングヌスによっおトリガヌされるこずです error 、 close 、 disconnectedなどはありたせん...。そのため、を怜出する方法がありたせん。サヌバヌを切断しお再起動したす。 マングヌスの蚭定方法は次のずおりです。

mongoose.Promise = global.Promise;
mongoose.set('debug', process.env.NODE_ENV === 'development');
const mongoConnectOpts = { reconnectTries: 10, reconnectInterval: 500, socketOptions: { keepAlive: 300000, connectTimeoutMS: 30000 } };
mongoose.connect(process.env.MONGODB_URI, { server: mongoConnectOpts, replset: mongoConnectOpts });
mongoose.connection.on('error', err => {
  logfmt.log({ event: 'mongoose:error', ...err });
  process.exit(0);
});
mongoose.connection.on('connected', () => logfmt.log({ event: 'mongoose:connected', uri: _.truncate(process.env.MONGODB_URI) }));
mongoose.connection.on('disconnected', () => {
  logfmt.log({ event: 'mongoose:disconnected' });
  process.exit(0);
});
mongoose.connection.on('close', () => logfmt.log({ event: 'mongoose:close' }));
mongoose.connection.on('reconnected', () => logfmt.log({ event: 'mongoose:reconnected' }));

// Setup Redis cache (Default cache TTL: 60 seconds)
cachegoose(mongoose, { engine: 'redis', client: redisCache }, process.env.NODE_ENV === 'development');

@Iorisは、

@ vkarpov15これをチェックしようずしたすが、バグは本番環境を実行する䜙裕がないため、簡単ではありたせん。
@aartiles @ mck- @lushchick皆さんはマングヌスキャッシュプラグむンを䜿甚しおいたすか

これはhttps://github.com/christkv/mongodb-core/issues/148に関連しおいる可胜性があり

マングヌスキャッシュプラグむンは䜿甚しおいたせん。

私はただそれを調査しおいたす、私がこれたでにあなたに蚀うこずができるこず

  • ロヌカルマシンで問題を再珟するこずができたした。毎秒高速ク゚リを実行しお結果をログに蚘録するルヌプを開始し、少し遅れお、重いク゚リを実行したす100䞇行のコレクションに察するむンデックスなしのク゚リなど。 すべおのク゚リ高速ク゚リもはロック/タむムアりトされ、mongooseむベントは発生したせん。
  • この問題は4.6.5に衚瀺され、 4.6.4 4.6.5にダりングレヌドするず、問題が修正されたす重いク゚リの実行䞭も高速ク゚リが実行されたす
  • それは䜕の関係もないようです

    • マングヌスキャッシュプラグむン

    • レプリカセットを実行しおいるかどうか

私はさらに掘り䞋げたしたが、問題は[email protected]ぞのアップグレヌドにあり、バグのあるコミットはhttps://github.com/mongodb/node-mongodb-native/pull/1418にあり
タむプミスを修正したようですが、そのeventNameタむプミスありは䞀郚の担圓者によっお䜿甚されおいたす

@loris間違ったむベント名を持぀残りの参照がどこにあるか知っおいたすか PRを䜜成しお修正するこずはできたすが、芋぀かりたせん。

@jakesjewsも参照を芋぀けるこずができないので、私のマシンで䞍䞀臎のバヌゞョンをチェックアりトした可胜性がある原因に぀いお間違っおいる可胜性がありたす。

同様の問題がありたす切断埌の再接続の倱敗。 これは、mongoose db操䜜をハングアップするこずでクラむアントに珟れたす操䜜バッファリングを介しおタむムアりトしたす。

@jakesjews私の問題はレプリカセットにも固有であり、単䞀ノヌド接続では発生したせん。 コアreplset.jsを詳しく調べたす。

node-mongodb-native内でデバッグログを有効にしお、HA再接続が期埅どおりに機胜しおいるかどうかを確認したした。

attemptReconnect for replset with id successful resuming topologyMonitor 1

それは時に単䞀のノヌド非replsetの再接続を行うように、それが正垞にattemptReconnectを行っ䞻匵ノヌドMongoDBのネむティブドラむバにもかかわらず、マングヌスは、接続たたは再接続むベントを発するこずはありたせん。

@lorisが述べたように、この問題はレプリカセットぞの再接続に盎接関連しおいるため、process.exit0->サヌビスの再起動は機胜したすが私の堎合、これも理想的ではありたせん。

マングヌス@ 4.6.8
[email protected]

@ mck-あなたず同じで、 4.5.3に

レプリカセットの再接続の問題が初めお発生する4.6.0で倱敗し始める前に、4.5.10たでアップグレヌドできたす。 珟圚の掚枬では、mongodbドラむバヌ2.2.9ぞのアップグレヌドに関連しおいる可胜性がありたす。

@lorisテストケヌスを提䟛しお、詊しおみるこずができたすか

私はただそれを芋おいたす、私は以前にタむプミス修正コミットに぀いお間違っおいたした。 犯人はhttps://github.com/christkv/mongodb-core/pull/146/commits/09caa9d1e5423acd2f8f154f7b7430028e77e57fのようです
テストケヌスの提䟛は、次のようにしか行われないため、少し耇雑です。

  • mongoose 4.6.8 、デフォルト蚭定でロヌカルホストmongodb3.2に接続
  • 2぀の高速ルヌト。1぀は長時間実行のマングヌスク゚リ数秒を実行し、もう1぀は高速実行のマングヌスク゚リを実行したすたずえば、setInterval / setTimeoutテストケヌスを䜿甚しお、ノヌドで盎接マングヌスク゚リを実行する堎合は問題は発生したせん。だから私の掚枬では、それはプヌル接続がどのように凊理されるかに関連しおいるず思いたす
  • 長時間の高速ルヌトを実行しおから、高速の高速ルヌトをヒットしようずするず、高速の高速ルヌトは戻らずに実行を続けたす
  • poolSizeをデフォルトではなく50に蚭定しお、問題を修正したす
  • mongodb-coreから前のコミットをチェックアりトするず、問題も修正されたす高速実行の高速ルヌトは、長時間実行ルヌトの凊理䞭に数ミリ秒で戻りたすデフォルトのプヌルサむズで
  • したがっお、 https//github.com/christkv/mongodb-core/pull/146/commits/09caa9d1e5423acd2f8f154f7b7430028e77e57fは、単䞀の長時間実行マングヌスがプヌル内の利甚可胜なすべおの接続を䜿甚する方法に䜕かを倉えたず思いたす

この修正は、ちょうどこの問題を解決するかもしれたせんMongoのコアに䞊陞したした。

@lorisええプヌルサむズを増やすず圹に立ちたす。 mongodbサヌバヌがpoolSize超えるリク゚ストを同時に凊理できないずいう䜎速列車の問題が発生しおいるようです。 プヌルサむズを増やすず圹立ちたす。あたり倧きくしないでください。そうしないず、WiredTigerでパフォヌマンスの問題が発生し始めたす。

やあ、
これに関する曎新はありたすか 同じ問題が発生しおいたす。レプリカセットを䜿甚するず、auto_reconnectが機胜したせん。 mongodb2.2.11でmongoose4.7.0を詊したしたが、ただ再接続しおいたせん。 私はmongodバヌゞョン3.2.10を䜿甚しおいたす。

私はすべおを単䞀のホストラップトップで実行しおおり、mongodの3぀のむンスタンスが異なるデヌタベヌスディレクトリの異なるポヌトで実行されおいたす。 それが問題になるはずではないようですが、私はmongo / mongoose / node / javascriptを初めお䜿甚したす。 マングヌスを䜿甚したノヌドアプリも同じホストで実行されおいたす。

すべおのmongodプロセスをシャットダりンするだけでこれを再珟できたす
launchctl stop mongod01; launchctl stop mongod02; launchctl stop mongod03
接続が閉じられたずいうメッセヌゞを埅っおから再起動したすlaunchctlコマンドの「stop」を「start」に眮き換えたす。 私のアプリはmongoに再接続したせん。

レプリカセットずしお構成されおいないmongodの単䞀むンスタンスで同じテストを実行するず、mongooseは正垞に再接続したす。

ログを提䟛するか、それが圹立぀堎合はパッチを詊しおみおください。

いく぀か掘り䞋げた埌、私は問題の1぀の原因を芋぀けたかもしれないず思いたす。 autoreconnectがtrueの堎合、接続バッファがアクティブになるこずは想定されおいないようですhttps://github.com/Automattic/mongoose/blob/master/lib/drivers/node-mongodb-native/connection.js#L153接続時にむベントを閉じたす。 ただし、mongodb-native https://github.com/mongodb/node-mongodb-native/blob/2.2/lib/replset.jsのreplsetクラス内にautoReconnectプロパティが蚭定されおいないため、1぀のノヌドからのすべおのクロヌズむベントバッファが氞続的に有効になりたす。 コミットhttps://github.com/eflexsystems/mongoose/commit/5ac12727f34b41791f94643b66c8cc88aff4d66aで運が良かったのですが、プルリク゚ストを行う前に、他の問題が発生したかどうかを確認するためにもう少し時間をかけたいず思いたす。

@joeldodsonあなたは私が経隓したのず同じ問題を説明しおいたす。 4.6.0以䞊のヘッズアップリリヌスに問題が含たれおいるようです。 その間、4.5.10を詊しおみたすが、それはreplsetに再接続されおおり、単䞀の接続で問題ありたせん。

@jakesjewsず@ kog13に感謝したす

4.5.10を詊したしたが、レプリカセットを再起動した埌、mongooseが再接続したす。 ただし、レプリカセット内のすべおのむンスタンスが停止した埌、db.readyStateがクリアされおいないようです。 リク゚ストを拒吊するかどうかを刀断するためにそれをチェックしおいたすアプリがDBに再接続するのを埅っおキュヌに入れないようにしたす。 たた、4.5.10では切断たたは接続が閉じられたずいう通知が届きたせんでした。

アプリの起動時にDBが利甚できない堎合に接続を詊みるために、5秒のタむマヌでルヌプに入るロゞックがすでにありたす。 db.on 'closed'、function{...}ハンドラヌでそれを呌び出しおみたしたが、正垞に機胜しおいるようです。 しかし、私の懞念は、明瀺的に接続しようずするず、内郚の再接続ロゞックず競合するかどうかです。 レプリカセットでは再接続が行われおいないようですので、倧䞈倫だず思いたす。 たた、サヌバヌずreplsetの䞡方の接続オプションでauto_reconnectをfalseに蚭定したす。

@ jakesjews-䞊蚘のパッチを詊したしたが、再接続できたせんでした。 䜕かを芋逃したかもしれたせんが、そのパッチは、closeむベントが生成され、readyStateが曎新されるようにするこずに関するもののようでした。

誰かが持っおいるなら、auto_reconnectのパッチをこれ以䞊詊しおみおうれしいです。 私も掘り䞋げおいきたす。

ありがずう。

䞊蚘のパッチに加えお、 @ joeldodsonは、レプリカセットモニタヌ接続が存続するこずを確認するための修正が含たれおいるmongo-coreの最新リリヌスに䟝存する必芁がありたす。 あなたが私のフォヌクを詊しおみるなら、それはすでにそれを持っおいるはずです。

マングヌスでのタむムアりトずフェむルオヌバヌに関しおは、かなり良い堎所にいるず思いたす。 他の誰かがそれを詊しおみたい堎合は、socketOptionsでsocketTimeoutを0に蚭定するこずに加えお、私のマングヌスのフォヌクを䜿甚するこずをお勧めしたす。

socketTimeoutを0に蚭定する理由は、mongo-coreにバグがあり、それでも問題を報告する必芁があるためです。 この問題は、接続プヌルが動的に瞮小/拡倧するこずが原因で発生したす。 プヌルが機胜する方法は、新しい接続を远加するたびに、その接続が30秒間非アクティブになるず閉じるこずです。 タむムアりトむベントは、プヌルからの削陀をトリガヌし、タむムアりトの数を30回の接続詊行の制限ず比范するチェックも実行したす。 2秒ごずに実行され、タむムアりトの数をクリアするハヌトビヌトがありたすが、30以䞊のリク゚ストが䞊行しおキュヌに入れられるず、ハヌトビヌトの間にすべおのリク゚ストがタむムアりトし、接続プヌルが砎壊されたす。 今のずころ、接続のタむムアりトを0に蚭定するず、接続が非アクティブの堎合にプヌルに戻されるのを防ぎ、問題を回避したす。 問題を再珟する堎合は、接続プヌルのサむズを玄50に蚭定し、50の䞊列ク゚リを実行しおみおください。 その埌、プヌルは玄30秒で砎壊されたす。 タむムアりトには独自のタむムアりトがあるため、タむムアりトはレプリカセットをチェックするハヌトビヌトに圱響を䞎えないこずに泚意しおください。

私は最近仕事に忙殺されおいるので、これらすべおの倉曎をたずめる機䌚はありたせんでしたが、すぐにそれを手に入れたいず思っおいたす。

もう䞀床@jakesjewsに感謝したす。 私はあなたのマングヌスずmongodb-coreリポゞトリを匕き蟌みたした。 再接続は機胜したした。 Mongoの単䞀むンスタンスを䜿甚した堎合に発生したすが、「connected」むベントず「reconnected」むベントは取埗されたせんでした。 たた、readyStateはリセットされおいないようで、再接続埌も0のたたです。

ログのテストや収集をお手䌝いできおうれしいです。

ただ[email protected]

この問題に関しお䜕か新しいこずはありたすか

ここでも問題を䜓隓したす。 接続の問題のため、マングヌスバヌゞョンのアップグレヌドを元に戻す必芁がありたした。 珟圚、数秒かかるク゚リは接続をタむムアりトしたすが、以前はそうではありたせんでした。

この問題に察凊する必芁がありたす。そうしないず、パッケヌゞを䜿甚できたせん。
時間があれば、おそらく@jakesjews゜リュヌションを詊しお

問題がmongo-coreのバグである堎合、これは実際にはmongooseの問題ではありたせん。 最新バヌゞョンのマングヌスで問題が発生した堎合、 mongodb-coreリポゞトリで問題を報告できたすか

問題のあるmongodb-coreのバヌゞョンに䟝存するように曎新されおいるため、実際にはmongooseの問題です。 たぶんmongooseは以前のバヌゞョンのmongodb-core埩元する必芁がありたす。

こずを芋お@jakesjews [email protected]が䟝存する[email protected]順次に䟝存し、 [email protected]あなたからの修正を適甚し、フォヌクは、この問題を修正するために必芁ずされるすべおのだろう䞀芋副䜜甚はありたせんか

そしおあなたのフォヌクを芋るず、このコミットは4.7.xおよび/たたは4.8.x PRに必芁な唯䞀の倉曎ですか

@Koslunフォヌクは

これが私の゜ケットオプションが今どのように芋えるかです。

    var opts = {
      server: {
        socketOptions: {
          keepAlive: 1,
          socketTimeout: 0
        }
      },
      replSet: {
        socketOptions: {
          keepAlive: 1,
          socketTimeout: 0
        }
    }

@jakesjewsわかりたした、迅速な説明に感謝したす:)。

このバグの修正が衚瀺されるmongodb-coreのバヌゞョンを知っおいたすか たたは、远跡できる問題、PR、たたはコミットがありたすか

@Koslunコメントに関する曎新は

この問題の曎新はありたすか

この問題は2016幎からただ開いおいたすopen_mouth

この問題は、mongodbドラむバヌ3.3.4を搭茉したmongoose 5.xずバヌゞョン4.xのMongoDBサヌバヌでも発生する可胜性があるのでしょうか 考え

再接続が成功したずきにreconnectTriesがリセットされるかどうか、誰か知っおいたすか。

Foxむンスタンス、reconnectTriesが30に蚭定されおいる堎合、切断されたマングヌスは5回詊行し、接続は成功したす。
次回接続が倱われたずき、再詊行のカりンタヌは䜕になりたすか
30回再接続を詊みたすか
たたは25回

@ szabolcs-szilagyiはい。ただし、 useUnifiedTopologyをtrue蚭定しない堎合に限りたす。

@ bhaveshvyas007はいそうです。 関連するコヌドは次のずおりです

埌䞖のために

useUnifiedTopologyなしでMongoose 5.xを実行しおいる堎合は、 MongoDB接続を管理するためのこのガむドをお読み

useUnifiedTopologyでMongoose 5.xを実行しおいる堎合、この問題は圱響したせん。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡