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

ConnectionWatchdog not works as expected #21

Closed
renzihui opened this issue May 26, 2014 · 1 comment
Closed

ConnectionWatchdog not works as expected #21

renzihui opened this issue May 26, 2014 · 1 comment

Comments

@renzihui
Copy link
Contributor

Hi Nikita, when I ran some load test, ConnectionWatchdog did not restore PubsubConnection correctly (my env is redis 2.8.3, java 1.7.0_45,Netty 4.0.19 final, OSX 10.9.2). After some digging, I found a couple of problems,

  1. When ChannelInitilizor ChannelInitializer.initChannel is called, pipeLine.get(CommandHandler.class) and pipeLine.get(RedisAsyncConnection.class) return null, I guess the old ChannelPipeline had been destroyed.
  2. The connection retry and backoff doesn’t seem right, the connection attempt seems only fired when the channel is inactive, if re-connect did not work, no further attempt will be fired.
  3. RedissonTopic.promise.get().setSuccess(true) will throw IllegalStateException: complete already when PubsubConnection is re established.
    4)Though this is not a bug, it seems unnecessary to use a dedicated HashedTimeWheel to schedule reconnection task.

I will push a patch later.

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

No branches or pull requests

1 participant