scredis / scredis

Non-blocking, ultra-fast Scala Redis client built on top of Akka IO.

Home Page:https://scredis.github.io/scredis/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logger specified in config can't be loaded error

eugenemiretsky opened this issue · comments

Getting the attached error. We are running on a cluster with 24 nodes. Any idea what could be causing this?

[WARN] [10/31/2019 20:07:00.607] [campaign-audience-akka.actor.default-dispatcher-3] [EventStream(akka://scredis-2178)] Logger log1-Slf4jLogger did not respond within Timeout(15000 milliseconds) to InitializeLogger(bus) error while starting up loggers akka.ConfigurationException: Logger specified in config can't be loaded [akka.event.slf4j.Slf4jLogger] due to [akka.event.Logging$LoggerInitializationException: Logger log1-Slf4jLogger did not respond with LoggerInitialized, sent instead [TIMEOUT]] at akka.event.LoggingBus$$anonfun$$nestedInanonfun$startDefaultLoggers$3$1.applyOrElse(Logging.scala:122) at akka.event.LoggingBus$$anonfun$$nestedInanonfun$startDefaultLoggers$3$1.applyOrElse(Logging.scala:119) at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:34) at scala.util.Failure.recover(Try.scala:230) at akka.event.LoggingBus.$anonfun$startDefaultLoggers$3(Logging.scala:119) at scala.collection.TraversableLike$WithFilter.$anonfun$map$2(TraversableLike.scala:739) at scala.collection.Iterator.foreach(Iterator.scala:929) at scala.collection.Iterator.foreach$(Iterator.scala:929) at scala.collection.AbstractIterator.foreach(Iterator.scala:1417) at scala.collection.IterableLike.foreach(IterableLike.scala:71) at scala.collection.IterableLike.foreach$(IterableLike.scala:70) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:738) at akka.event.LoggingBus.startDefaultLoggers(Logging.scala:114) at akka.event.LoggingBus.startDefaultLoggers$(Logging.scala:100) at akka.event.EventStream.startDefaultLoggers(EventStream.scala:22) at akka.actor.LocalActorRefProvider.init(ActorRefProvider.scala:662) at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:840) at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:837) at akka.actor.ActorSystemImpl._start(ActorSystem.scala:837) at akka.actor.ActorSystemImpl.start(ActorSystem.scala:856) at akka.actor.ActorSystem$.apply(ActorSystem.scala:246) at akka.actor.ActorSystem$.apply(ActorSystem.scala:289) at akka.actor.ActorSystem$.apply(ActorSystem.scala:234) at scredis.io.ClusterConnection.$anonfun$makeConnection$1(ClusterConnection.scala:114) at scala.Option.getOrElse(Option.scala:121) at scredis.io.ClusterConnection.makeConnection(ClusterConnection.scala:114) at scredis.io.ClusterConnection.$anonfun$send$1(ClusterConnection.scala:150)

Could you paste your build.sbt dependencies? do you have slf4j logger in deps?

Error is raised during ActorSystem creation it has nothing to do with scredis yet.

As you saw in the other ticket I suspect it has to do with timeout during ClusterConnection. This has happened when the Redis cluster was in a bad state. Otherwise the applications starts just fine

Maybe scredis doesn't connect because of timeout or maybe because of something else.

So far you only pasted an error saying you don't have logger library in your deps and that probably causes all scredis logs to be dropped and you cannot actually see what is going on.

  private def makeConnection(server: Server, systemOpt:Option[ActorSystem]): NonBlockingConnection = {
    val systemName = RedisConfigDefaults.IO.Akka.ActorSystemName
    val system = systemOpt.getOrElse(ActorSystem(UniqueNameGenerator.getUniqueName(systemName)))
// ^^ here is where exception is thrown

// other code 

// here is connection related code

scredis needs AktorSystem, you can provide one or it will be created by scredis.
Firstly you need to fix issue with logging and then we should be able to see what is actually going on.