Await.result (observableDoc.toFuture, Duration.Inf) дает нулевое значение в искровом кластере. Он отлично работает на моей локальной машине
Я использую API драйвера scala.
Я пытался изменить время Duration, но не работал в кластере искр.
val mongoClient = MongoClient("uriString")
val db = mongoClient.getDatabase("databasename")
val collection = db.getCollection("collectionName")
var observableDoc = collection.find(equal("my_id", "12345")).first
observableDoc.subscribe(new Observer[T] {
println(funcname + " : Inside observableStatus subscribe start")
logger.info(funcname + " : Inside observableStatus subscribe start")
override def onNext(result: T): Unit = {
println(funcname + " onNext")
logger.info(funcname + " onNext")
}
override def onError(e: Throwable): Unit = {
println(funcname + " Failed")
logger.info(funcname + " Failed")
}
override def onComplete(): Unit = {
println(funcname + " Complete")
logger.info(funcname + " Complete")
}
println(funcname + " : Inside observableStatus subscribe end")
logger.info(funcname + " : Inside observableStatus subscribe end")
})
val awaitedR = Await.result(observableDoc.toFuture, Duration.Inf)
Приведенный выше код отлично работает на моей локальной машине и дает ожидаемый результат, но в спарк-кластере awaitedR показывает ноль.