Knex: ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Β«Knex: Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ соСдинСния. ΠŸΡƒΠ», вСроятно, ΠΏΠΎΠ»ΠΎΠ½Β». ошибка

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 2 нояб. 2017  Β·  18ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: knex/knex

Π― столкнулся с сообщСниСм «НСобработанный ΠΎΡ‚ΠΊΠ°Π·. ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π•ΡΡ‚ΡŒ мноТСство Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… запросов, поэтому я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ запрос, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° становится ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ postgres увСличиваСтся. Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅?

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с этими вСрсиями:

"knex": "^0.21.1",
"objection": "^2.1.3",
"pg": "^8.0.3"

ВсС 18 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡΡŒ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

Π£ мСня Ρ‚ΠΎΡ‡Π½ΠΎ такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

РСшСниС состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ источник ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π­Ρ‚ΠΎ Π½Π΅ ошибка "запроса", Π° скорСС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния. Ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° knex Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ соСдинСниС Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) 60 сСкунд, ΠΈ, скорСС всСго, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° этого Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡƒΠ» Π·Π°ΠΏΠΎΠ»Π½Π΅Π½.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Двумя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнными ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

  1. Π’Ρ‹ Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ/Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ .transacing(trx) Π² построитСлях запросов, ΡƒΠΆΠ΅ Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² максимальном ΠΏΡƒΠ»Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±Π΅Π·Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ соСдинСниС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСно.
  2. ΠŸΡƒΠ» постоянно остаСтся занятым с максимальной Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) 60 сСкунд Π±Π΅Π· остановок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·-Π·Π° интСнсивного Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ состояниС вашСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ эта ошибка - ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈ нСзанятых соСдинСний? Π½Π΅ слишком Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ соСдинСний? ΠΈ Π’. Π”.

Π― Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡΡŒ с этой ошибкой.

rejecter(new _bluebird2.default.TimeoutError('Knex: Timeout acquiring a connection. The pool is probably full. ' + 'Are you missing a .transacting(trx) call?')); ^ TimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?

Пока ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊ нашСй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, Π΅ΡΡ‚ΡŒ Π»ΠΈ способ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ сбой прилоТСния ΠΈΠ·-Π·Π° этой ошибки? Или, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ошибка ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° стСк?

@rsfernandes Пока Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ catch Π² своих сборщиках, я Π½Π΅ понимаю, ΠΊΠ°ΠΊ эта ошибка ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ сбою всСго прилоТСния.

Π§Ρ‚ΠΎ касаСтся стСка, я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ longStackTraces . Π’ knex Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ встроСнного ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этого стСка ошибок.

FWIW Π― ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» эту ΠΎΡˆΠΈΠ±ΠΊΡƒ со слуТбой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… AWS Aurora, ΠΈ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π²Ρ‹Π·Π²Π°Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ автоматичСского ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, которая Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… послС бСздСйствия (автоматичСский запуск Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΈ это ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρƒ knex)

https://github.com/tgriesser/knex/issues/3159 БущСствуСт список Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с сСвСрным сияниСм.

@wubzz

  1. ΠŸΡƒΠ» постоянно остаСтся занятым с максимальной Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) 60 сСкунд Π±Π΅Π· остановок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·-Π·Π° интСнсивного Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² этом, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ, Ссли просто нСльзя Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мСньшС Ρ€Π°Π±ΠΎΡ‚Ρ‹? πŸ˜…

Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя оТидания ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ?

Моя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Π½Π΅ с knex, Π° скорСС с ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ входящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π³Ρ€ΡƒΠΏΠΏΡ‹ бСзопасности Π½Π° ΠΌΠΎΠ΅ΠΌ aws RDS. Он Π±Ρ‹Π» настроСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° IP-адрСс ΠΌΠΎΠ΅Π³ΠΎ локального ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, поэтому я Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΈΠ· экзСмпляра ec2. Π±Ρ‹Π»ΠΎ нСприятно, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сообщСниС ΠΎΠ± ошибкС Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.
Если Ρƒ вас Π΅ΡΡ‚ΡŒ это сообщСниС ΠΎΠ± ошибкС, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ knex Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС. Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои сСти Ρ‚ΠΎΠΆΠ΅!

Π”Π°, я полагаю, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ, Ссли соСдинСниС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ... Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, установка Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π° соСдинСния ΠΈ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π° подтвСрТдСния ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΡŒ эти Π΄Π²Π° случая.

Π― Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с этими вСрсиями:

"knex": "^0.21.1",
"objection": "^2.1.3",
"pg": "^8.0.3"

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Node 12, Π° Π½Π΅ Π½Π° Node 14.

Π£ мСня Π±Ρ‹Π»ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡƒΠ» Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, я ΠΌΠΎΠ³ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, установив ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈ максимум

Π£ мСня Π±Ρ‹Π»Π° такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° ΠΌΠΎΠ΅ΠΌ Mac. я запускал knex ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π½Π°Ρ‡Π°Π» Π²ΠΈΠ΄Π΅Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Knex: Timeout.... Π― понял, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ zsh вмСсто bash. Π― Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ bash ΠΈ Π½Π΅Π΄Π°Π²Π½ΠΎ попытался ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° zsh Π² соотвСтствии с рСкомСндациями Apple. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ я вСрнулся ΠΊ bash, это Π±Ρ‹Π»ΠΎ исправлСно.

НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Node 12, Π° Π½Π΅ Π½Π° Node 14.

Π­Ρ‚ΠΎ сработало для мСня Π½Π° mac docker-compose node:12 вмСсто node (v14). Бпасибо.

Π― пытался ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΠ·Π»Π° сСрвСра с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ nvm exec 12 node ./src/index... ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Запустив ΡƒΠ·Π΅Π» Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ошибка исчСзла ΠΈ соСдинСниС ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡŒ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ, ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ настройку ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠ·Π΅Π» 12.

@batadamnjanovic , Ρ‚Ρ‹ спас мСня послС Π΄Π²ΡƒΡ… ΠΏΠΎΠ»Π½Ρ‹Ρ… Π΄Π½Π΅ΠΉ исслСдований. Π’Π« !!

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ