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

Allow reset on internal connection state #25

Closed
mp911de opened this issue Jan 24, 2015 · 1 comment
Closed

Allow reset on internal connection state #25

mp911de opened this issue Jan 24, 2015 · 1 comment
Labels
type: enhancement A general enhancement
Milestone

Comments

@mp911de
Copy link
Collaborator

mp911de commented Jan 24, 2015

The internal state machine could run into an invalid state due to network failures, VM errors or unexpected/faulty Redis responses (i.e. version does not fit the Redis client).

This could be handled by closing the connection and reconnecting for getting a clear and defined state without any "backlog" on the TCP connection.

@mp911de mp911de added the type: enhancement A general enhancement label Jan 24, 2015
@mp911de mp911de mentioned this issue Jan 24, 2015
@mp911de
Copy link
Collaborator Author

mp911de commented Feb 17, 2015

Will add reset() method on connection impl (not connection interface!) to reset the connection state.
In case clients run into connection sync issues (can be discovered using RedisClient#addListener listening on RedisConnectionStateListener#onRedisExceptionCaught) the client can call RedisChannelHandler#reset. This might be useful especially when a SSL tunnel scrambles up the connection state and any backlog is processed by lettuce.

@mp911de mp911de changed the title Close connection on internal errors Allow reset on internal connection state Feb 17, 2015
@mp911de mp911de added this to the Lettuce 3.1 milestone Feb 27, 2015
@mp911de mp911de closed this as completed Feb 27, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

1 participant