Scala ReactiveMongo: канал не найден при незначительном отключении интернета - PullRequest
0 голосов
/ 25 июня 2018

Реактивный Mongo останавливается при незначительном отключении Интернета и не восстанавливается, и воспроизведение не останавливается, только последующие запросы получают эти повторяющиеся исключения, говорящие о подключении 10/1, но канал не найден.

Это упоминается как проблема GitHub какхорошо, но никакого решения не дано.что я хочу знать, так это то, что в любом случае я могу контролировать работоспособность соединения и перезапускать сервер в случае перебоев в работе сети или невозможности реактивного Монго получить доступ к серверу БД

Исключение составляет приложение:

play.api.UnexpectedException: Unexpected exception[ChannelNotFound: MongoError['Channel not found from the primary node: 'ds249005.mlab.com:49005' { authenticated:0, connected:10, channels:10 } (Supervisor-1/Connection-2)']]
    at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:251)
    at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:180)
    at play.filters.cors.AbstractCORSPolicy$$anonfun$1.applyOrElse(AbstractCORSPolicy.scala:122)
    at play.filters.cors.AbstractCORSPolicy$$anonfun$1.applyOrElse(AbstractCORSPolicy.scala:120)
    at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346)
    at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
    at play.api.libs.streams.Execution$trampoline$.execute(Execution.scala:70)
    at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
    at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
Caused by: reactivemongo.core.actors.Exceptions$ChannelNotFound: MongoError['Channel not found from the primary node: 'ds249005.mlab.com:49005' { authenticated:0, connected:10, channels:10 } (Supervisor-1/Connection-2)']
Caused by: reactivemongo.core.actors.Exceptions$InternalState: null
    at reactivemongo.ConnectAll$IsMaster(828, {{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=140], auth=Set() }})(<time:1530070373894>)
    at reactivemongo.IsMaster(828, {{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=142], auth=Set() }}(<time:1530070373894>)
    at reactivemongo.RefreshAll({{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=142], auth=Set() }})(<time:1530070373754>)
    at reactivemongo.ConnectAll({{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=142], auth=Set() }})(<time:1530070373754>)
    at reactivemongo.ConnectAll$IsMaster(827, {{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=142], auth=Set() }})(<time:1530070363895>)
    at reactivemongo.IsMaster(827, {{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=141], auth=Set() }}(<time:1530070363895>)
    at reactivemongo.RefreshAll({{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=141], auth=Set() }})(<time:1530070363753>)
    at reactivemongo.ConnectAll({{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=141], auth=Set() }})(<time:1530070363753>)
    at reactivemongo.ConnectAll$IsMaster(826, {{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=141], auth=Set() }})(<time:1530070353894>)
    at reactivemongo.IsMaster(826, {{NodeSet None Node[ds249005.mlab.com:49005: Primary (10/10 available connections), latency=141], auth=Set() }}(<time:1530070353894>)
...