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

Already on GitHub? Sign in to your account

Excessive Blacklisting when using a load balancer to access nodes #109

Merged
merged 6 commits into from Jan 25, 2013

Conversation

Projects
None yet
2 participants
Contributor

nathannis commented Jan 24, 2013

When using a single, load balancer server to connect to nodes and node failures occur, the current RoundRobinServerManager will blacklist the single server and return "No connection could be made because all servers have failed" instead of actually trying to reconnect to the load balancer and receiving a working node.

I added a SingleServerManager (thanks to Nick for the pointers) that will always return the server and never blacklist.

-Nathan

nathannis added some commits Jan 24, 2013

@nathannis nathannis Made some changes and tweaks to get the project compiling on my machine. e1691ec
@nathannis nathannis Created a LoadBalancerServerManager that does not blacklist failed se…
…rvers. This is useful when using a standalone Load Balancing server (such as an F5) to connect Clients to Nodes.
739b24d
Owner

nathannis commented on 739b24d Jan 24, 2013

This is a very simple change to make sure that the single LoadBalancer server never gets marked as blacklisted. It still needs to have a configuration option added that will allow users to specify what type of Server Manager should be used.

I just put a hard code here to select the ServerManager. Need better configuration options to select the property configuration options.

I will probably change this to be created in a factory pattern sort of like the connection provider is.

spelling - should be LoadBalancerServerManager

spelling - should be LoadBalancerServerManager

Contributor

nathannis commented Jan 24, 2013

The first commit shouldn't be part of this change. I still have more to lean about branching and creating Pull requests in GigHub.

@nberardi nberardi added a commit that referenced this pull request Jan 25, 2013

@nberardi nberardi Merge pull request #109 from nathannis/master
Excessive Blacklisting when using a load balancer to access nodes
f83865b

@nberardi nberardi merged commit f83865b into fluentcassandra:master Jan 25, 2013

@nberardi nberardi commented on the diff Jan 25, 2013

src/FluentCassandra.csproj
@@ -39,11 +39,10 @@
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup>
- <SignAssembly>false</SignAssembly>
@nberardi

nberardi Jan 25, 2013

Contributor

In the future you should default the project settings back to the original values, and only include in the files changed.

@nberardi nberardi commented on the diff Jan 25, 2013

test/FluentCassandra.Tests/app.config
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
- <add key="TestServer" value="localhost"></add>
@nberardi

nberardi Jan 25, 2013

Contributor

No big deal, but same with this setting.

@nathannis

nathannis Jan 29, 2013

Contributor

Sorry about that. I was trying to do a Pull request that would only include a couple of my local commits (like a Subversion patch), but was unsuccessful. I'll get better at Git and avoid it in the future. Thanks for doing the extra work to undo those changes.

@nberardi

nberardi Jan 29, 2013

Contributor

No problem.

On Tue, Jan 29, 2013 at 1:04 PM, Nathan notifications@github.com wrote:

In test/FluentCassandra.Tests/app.config:

@@ -1,7 +1,7 @@

-

Sorry about that. I was trying to do a Pull request that would only
include a couple of my local commits (like a Subversion patch), but was
unsuccessful. I'll get better at Git and avoid it in the future. Thanks for
doing the extra work to undo those changes.


Reply to this email directly or view it on GitHubhttps://github.com/managedfusion/fluentcassandra/pull/109/files#r2812653.

@nberardi nberardi added a commit that referenced this pull request Jan 25, 2013

@nberardi nberardi added new ServerManagerFactory and pull #109 fixes the issue where ag…
…gressive blacklisting doesn't make sense for single server senarios
6203be3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment