zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raul Gutierrez Segales (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-1807) Observers spam each other creating connections to the election addr
Date Sat, 02 Nov 2013 14:05:18 GMT

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

Raul Gutierrez Segales commented on ZOOKEEPER-1807:
---------------------------------------------------

Well, if we really need observer to observer responses, for reconfig purposes I presume, then
should we be sending them to observers not in LOOKING state? See the conditions that apply
when responding to participants in the lines below my patch.

But even still with that being correct it might be too much overhead for large Observers deployments.
Should this be optional?

> Observers spam each other creating connections to the election addr
> -------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1807
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1807
>             Project: ZooKeeper
>          Issue Type: Bug
>            Reporter: Raul Gutierrez Segales
>            Assignee: Raul Gutierrez Segales
>             Fix For: 3.5.0
>
>         Attachments: ZOOKEEPER-1807.patch
>
>
> Hey [~shralex],
> I noticed today that my Observers are spamming each other trying to open connections
to the election port. I've got tons of these:
> {noformat}
> 2013-11-01 22:19:45,819 - DEBUG [WorkerSender[myid=13]] - There is a connection already
for server 9
> 2013-11-01 22:19:45,819 - DEBUG [WorkerSender[myid=13]] - There is a connection already
for server 10
> 2013-11-01 22:19:45,819 - DEBUG [WorkerSender[myid=13]] - There is a connection already
for server 6
> 2013-11-01 22:19:45,819 - DEBUG [WorkerSender[myid=13]] - There is a connection already
for server 12
> 2013-11-01 22:19:45,819 - DEBUG [WorkerSender[myid=13]] - There is a connection already
for server 14
> {noformat}
> and so and so on ad nauseam. 
> Now, looking around I found this inside FastLeaderElection.java from when you committed
ZOOKEEPER-107:
> {noformat}
>      private void sendNotifications() {
> -        for (QuorumServer server : self.getVotingView().values()) {
> -            long sid = server.id;
> -
> +        for (long sid : self.getAllKnownServerIds()) {
> +            QuorumVerifier qv = self.getQuorumVerifier();
> {noformat}
> Is that really desired? I suspect that is what's causing Observers to try to connect
to each other (as opposed as just connecting to participants). I'll give it a try now and
let you know. (Also, we use observer ids that are > 0, and I saw some parts of the code
that might not deal with that assumption - so it could be that too..). 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message