title: Mongo Connection issue with error "state should be: open"
body: <p>I am running an event in Akka actor system, where we run multiple actors to query mongo db and retrieve data. Each actor queries for 1000 documents (each document's size is 9kb) </p>
  
  <p>When running an event that is required to fire 14 actors to query for Mongo DB to retrieve 13000 documents.Once I experienced below exception, not sure why? Have anyone experienced this before?</p>
  
  <pre><code>2020-04-14 19:17:28,818 [erp-writer-actor-system-akka.actor.default-dispatcher-378] ERROR c.a.s.c.m.GlobalContextMongoClientService- 76cd7a80-83ef-4389-885a-be9caed77449 - Exception occured while reading data from cursor
  java.lang.IllegalStateException: state should be: open
   at com.mongodb.assertions.Assertions.isTrue(Assertions.java:70)
   at com.mongodb.connection.DefaultServer.getConnection(DefaultServer.java:84)
   at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:86)
   at com.mongodb.operation.QueryBatchCursor.getMore(QueryBatchCursor.java:203)
   at com.mongodb.operation.QueryBatchCursor.hasNext(QueryBatchCursor.java:103)
   at com.mongodb.MongoBatchCursorAdapter.hasNext(MongoBatchCursorAdapter.java:46)
   at com.xyz.smartconnect.commons.mongoclient.GlobalContextMongoClientService.findWorkers(GlobalContextMongoClientService.java:145)
   at com.xyz.smartconnect.actors.QueryWorkersActor.lambda$createReceive$0(QueryWorkersActor.java:40)
   at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)
   at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21)
   at scala.PartialFunction$class.applyOrElse(PartialFunction.scala:123)
   at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)
   at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170)
   at akka.actor.Actor$class.aroundReceive(Actor.scala:513)
   at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:132)
   at akka.actor.ActorCell.receiveMessage(ActorCell.scala:519)
   at akka.actor.ActorCell.invoke(ActorCell.scala:488)
   at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
   at akka.dispatch.Mailbox.run(Mailbox.scala:224)
   at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
   at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
   at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
   at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
   at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
   Suppressed: java.lang. IllegalStateException: state should be: open
    at com.mongodb.assertions.Assertions.isTrue(Assertions.java:70)
    at com.mongodb.connection.DefaultServer.getConnection(DefaultServer.java:84)
    at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:86)
    at com.mongodb.operation.QueryBatchCursor.killCursor(QueryBatchCursor.java:261)
    at com.mongodb.operation.QueryBatchCursor.close(QueryBatchCursor.java:147)
    at com.mongodb.MongoBatchCursorAdapter.close(MongoBatchCursorAdapter.java:41)
    at com.xyz.smartconnect.commons.mongoclient.GlobalContextMongoClientService.findWorkers(GlobalContextMongoClientService.java:149)
  </code></pre>