Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Exception in RedisReplyDecoder after reconnection #10

Closed
seigert-xx opened this issue Sep 7, 2013 · 3 comments
Closed

Exception in RedisReplyDecoder after reconnection #10

seigert-xx opened this issue Sep 7, 2013 · 3 comments
Labels
Milestone

Comments

@seigert-xx
Copy link

If connection to Redis was lost and then reestablished sometimes there are unhandled exceptions in all instances of RedisReplyDecoder at once:

20:57:11.004 [kka.actor.default-dispatcher-2] ERROR akka.actor.OneForOneStrategy - rediscala.rediscala-client-worker-dispatcher-90:akka://****/user/****-client-$G/$l - null
java.util.NoSuchElementException: null
    at scala.collection.mutable.MutableList.head(MutableList.scala:54) ~[scala-library-2.10.2.jar:na]
    at scala.collection.mutable.Queue.front(Queue.scala:168) ~[scala-library-2.10.2.jar:na]
    at redis.actors.RedisReplyDecoder.decodeRepliesRecur(RedisReplyDecoder.scala:47) ~[rediscala_2.10-1.1.jar:1.1]
    at redis.actors.RedisReplyDecoder.decodeReplies(RedisReplyDecoder.scala:42) ~[rediscala_2.10-1.1.jar:1.1]
    at redis.actors.RedisReplyDecoder$$anonfun$receive$1.applyOrElse(RedisReplyDecoder.scala:29) ~[rediscala_2.10-1.1.jar:1.1]
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:498) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
    at akka.actor.ActorCell.invoke(ActorCell.scala:456) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
    at akka.dispatch.Mailbox.run(Mailbox.scala:219) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) ~[scala-library-2.10.2.jar:na]
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) ~[scala-library-2.10.2.jar:na]
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) ~[scala-library-2.10.2.jar:na]
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) ~[scala-library-2.10.2.jar:na]
@etaty
Copy link
Owner

etaty commented Sep 7, 2013

Is it possible to have the logs before that one ?
Because that exception happen when the number of reply exceeds the number of Operation (request)

@seigert-xx
Copy link
Author

According to my logs before that are:

20:57:11.001 [ka.actor.default-dispatcher-46] INFO  redis.actors.RedisClientActor - rediscala.rediscala-client-worker-dispatcher-90:akka://****/user/****-client-$G - Connect to localhost/127.0.0.1:6380
20:57:11.003 [kka.actor.default-dispatcher-3] INFO  redis.actors.RedisClientActor - rediscala.rediscala-client-worker-dispatcher-94:akka://****/user/****-client-$G - Connected to localhost/127.0.0.1:6380
20:57:11.004 [kka.actor.default-dispatcher-2] INFO  redis.actors.RedisClientActor - rediscala.rediscala-client-worker-dispatcher-90:akka://****/user/****-client-$G - Trying to reconnect in 2 seconds

And before that is just bunch of

20:57:08.983 [kka.actor.default-dispatcher-2] ERROR redis.actors.RedisClientActor - rediscala.rediscala-client-worker-dispatcher-28:akka://****/user/****-client-$G - CommandFailed(Connect(localhost/127.0.0.1:6380,None,List(),None))

If needed I could switch logging level to DEBUG and reproduce. BTW, in our case reproduction is very easy -- just shutdown Redis instance in a middle of operation and then restart it.

@etaty
Copy link
Owner

etaty commented Sep 7, 2013

Ok i can reproduce it

@etaty etaty closed this as completed in 2487323 Sep 7, 2013
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants