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

CO connection failover #39

Open
eswdd opened this issue Nov 1, 2013 · 0 comments
Open

CO connection failover #39

eswdd opened this issue Nov 1, 2013 · 0 comments

Comments

@eswdd
Copy link
Contributor

eswdd commented Nov 1, 2013

Currently, when a connection which has heap subscriptions is closed (for whatever reason), all heap subs are terminated and need to be manually reconstructed by the user of the client.

We want to add the capability to automatically failover to another server. This would necessitate:

  • Notifying the sub listeners that we're reconnecting
  • Resending the sub request (possibly the same used in CO connection/heap coelescing #38) to a new server
  • Repopulating the heap state based on the new initial state
  • Notifying the sub listeners that we're reconnected

It would be desirable to be able to perform reconnection on a set of subs at one time, although we need to ensure that the service is given the opportunity to reject these reconnections. We need to ensure that we log the restart of this sub.

There is a danger with a batch reconnect that we overload the server in question since identity resolution will occur for each request and cached identities are perhaps unlikely to exist.

It's perhaps possible that we'd want to maintain a heap with >1 server at all times (in contrast to #38) so that we don't need to receive a new heap at a busy failure point, but only need to worry about the sub creation (on both client and server) - a kind of passive heap that's kept waiting for HA purposes if you will.

@eswdd eswdd modified the milestones: Release 3.2 Candidates, Release 3.1 Candidates Apr 9, 2014
@eswdd eswdd added the accepted label Jun 26, 2014
@eswdd eswdd removed this from the Release 3.2 Candidates milestone Jun 27, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant