[jira] Commented: (ZOOKEEPER-901) Redesign of QuorumCnxManager

2010-10-17 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921921#action_12921921
 ] 

Patrick Hunt commented on ZOOKEEPER-901:


Thoughts regarding netty support? We've been adding netty support to the 
client<->server connection mechanisms. My intent was to eventually modify the 
server<->server connections (quorum/election) similarly. You might want to 
consider this when refactoring -- either adding directly or just making sure it 
will be easy(ier) to add netty eventually.

> Redesign of QuorumCnxManager
> 
>
> Key: ZOOKEEPER-901
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-901
> Project: Zookeeper
>  Issue Type: Improvement
>  Components: leaderElection
>Affects Versions: 3.3.1
>Reporter: Flavio Junqueira
>Assignee: Flavio Junqueira
> Fix For: 3.4.0
>
>
> QuorumCnxManager manages TCP connections between ZooKeeper servers for leader 
> election in replicated mode. We have identified over time a couple of 
> deficiencies that we would like to fix. Unfortunately, fixing these issues 
> requires a little more than just generating a couple of small patches. More 
> specifically, I propose, based on previous discussions with the community, 
> that we reimplement QuorumCnxManager so that we achieve the following:
> # Establishing connections should not be a blocking operation, and perhaps 
> even more important, it shouldn't prevent the establishment of connections 
> with other servers;
> # Using a pair of threads per connection is a little messy, and we have seen 
> issues over time due to the creation and destruction of such threads. A more 
> reasonable approach is to have a single thread and a selector.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (ZOOKEEPER-901) Redesign of QuorumCnxManager

2010-10-18 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921997#action_12921997
 ] 

Flavio Junqueira commented on ZOOKEEPER-901:


It is a good point, Pat. It crossed my mind, but I thought it would be overkill 
to use netty. However, if it is simpler to have it for compatibility and 
uniformity purposes, then we should consider it.

> Redesign of QuorumCnxManager
> 
>
> Key: ZOOKEEPER-901
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-901
> Project: Zookeeper
>  Issue Type: Improvement
>  Components: leaderElection
>Affects Versions: 3.3.1
>Reporter: Flavio Junqueira
>Assignee: Flavio Junqueira
> Fix For: 3.4.0
>
>
> QuorumCnxManager manages TCP connections between ZooKeeper servers for leader 
> election in replicated mode. We have identified over time a couple of 
> deficiencies that we would like to fix. Unfortunately, fixing these issues 
> requires a little more than just generating a couple of small patches. More 
> specifically, I propose, based on previous discussions with the community, 
> that we reimplement QuorumCnxManager so that we achieve the following:
> # Establishing connections should not be a blocking operation, and perhaps 
> even more important, it shouldn't prevent the establishment of connections 
> with other servers;
> # Using a pair of threads per connection is a little messy, and we have seen 
> issues over time due to the creation and destruction of such threads. A more 
> reasonable approach is to have a single thread and a selector.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (ZOOKEEPER-901) Redesign of QuorumCnxManager

2010-10-18 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12922139#action_12922139
 ] 

Patrick Hunt commented on ZOOKEEPER-901:


It would be great if you supported both netty/nio as part of this change, but 
it's really up to you. 

Going fwd (long term) we should covert everything over from nio to netty. It's 
not a matter of nio vs netty really - it's a matter of security. Netty provides 
encryption/auth out of the box (sorta), while we'd have to do a bunch of work 
to add this on top of our current nio. So really we're moving to netty 
primarily to get security for client & server connectivity. An added bonus is 
that netty should simplify our code (although in the short term that's def not 
the case).

Thanks!



> Redesign of QuorumCnxManager
> 
>
> Key: ZOOKEEPER-901
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-901
> Project: Zookeeper
>  Issue Type: Improvement
>  Components: leaderElection
>Affects Versions: 3.3.1
>Reporter: Flavio Junqueira
>Assignee: Flavio Junqueira
> Fix For: 3.4.0
>
>
> QuorumCnxManager manages TCP connections between ZooKeeper servers for leader 
> election in replicated mode. We have identified over time a couple of 
> deficiencies that we would like to fix. Unfortunately, fixing these issues 
> requires a little more than just generating a couple of small patches. More 
> specifically, I propose, based on previous discussions with the community, 
> that we reimplement QuorumCnxManager so that we achieve the following:
> # Establishing connections should not be a blocking operation, and perhaps 
> even more important, it shouldn't prevent the establishment of connections 
> with other servers;
> # Using a pair of threads per connection is a little messy, and we have seen 
> issues over time due to the creation and destruction of such threads. A more 
> reasonable approach is to have a single thread and a selector.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.