After the MongoDB server keeps a high load for a short time, the play-reactivemongo module runs into a ChannelNotFound
error loop:
2017-10-09 13:16:17 +0800 [ERROR] from reactivemongo.api.Failover2 in ForkJoinPool-3-worker-1 - [Supervisor-1/Connection-2] Got an error, no more attempts to do. Completing with a failure... reactivemongo.core.actors.Exceptions$ChannelNotFound: MongoError['Channel not found from the primary node: 'host:port' { authenticated:0, connected:10, channels:10 } (Supervisor-1/Connection-2)'] Caused by: reactivemongo.core.actors.Exceptions$InternalState: null at reactivemongo.ConnectAll$IsMaster(562, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.IsMaster(562, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }}() at reactivemongo.RefreshAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll$IsMaster(561, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.IsMaster(561, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }}() at reactivemongo.RefreshAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll$IsMaster(560, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.IsMaster(560, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }}() at reactivemongo.RefreshAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll$IsMaster(559, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.IsMaster(559, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }}() at reactivemongo.RefreshAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll$IsMaster(558, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.IsMaster(558, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }}() at reactivemongo.RefreshAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll$IsMaster(557, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.IsMaster(557, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }}() at reactivemongo.RefreshAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll({{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})() at reactivemongo.ConnectAll$IsMaster(556, {{NodeSet None Node[ host:port: Primary (10/10 available connections), latency=1], auth=Set() }})()
After this error occurs, all of the services of the Play application are down. It works normally after restarting the Play application. Does anyone know how to resolve this error?