Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

HA issue - ShardManager will try to send a connect message to a dead actor if it receives an updated shard #14

Closed
jasongoodwin opened this issue Aug 30, 2013 · 2 comments

Comments

@jasongoodwin
Copy link
Contributor

It appears if brando has a shard connected to a dead redis instance that actor will die.
If we try to send a new shard to the shard manager for that host, then it will send a Connect message to the dead actor so it can never resolve in some failover scenarios.

I'll look at the code a bit more later - these are high level observations.

Course of action is to make the connections immutable and just poisonpill and recreate connections on Shard messages to the shard manager.

@jasongoodwin
Copy link
Contributor Author

My observations may not be accurate but I see this in the log - I'll dig into this - I get this in the logs when updating a bad shard

[30/Aug/2013 11:26:57.611] [INFO] [StreamPublisher-akka.actor.default-dispatcher-23] akka.actor.LocalActorRef - Message [brando.Connect] from Actor[akka://StreamPublisher/user/$a/$a/$a/$g#2130182160] to Actor[akka://StreamPublisher/user/$a/$a/$a/$g/$a#-475118153] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

Next message to a connected server works. We'll be doing redis ha with sharding testing today.

@jasongoodwin
Copy link
Contributor Author

this is only a logging issue and does not affect functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant