[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-10-03 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636632#action_12636632
 ] 

Patrick Hunt commented on ZOOKEEPER-127:


re stu's npe comment, is that true? I thought I had seen some code in the 
config processing that indicated that we allowed both host:port and 
host:port:port, does it npe if host:port is used?

Flavio please look into this and also ensure that the documentation is updated 
to reflect.

 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Critical
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-10-03 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636633#action_12636633
 ] 

Patrick Hunt commented on ZOOKEEPER-127:


are there tests for these cases?

host:port and host:port:port? we should verify both cases (even if one is 
illegal - verify handled appropriately)

 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Critical
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-10-02 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636325#action_12636325
 ] 

Hudson commented on ZOOKEEPER-127:
--

Integrated in ZooKeeper-trunk #101 (See 
[http://hudson.zones.apache.org/hudson/job/ZooKeeper-trunk/101/])


 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Critical
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-10-02 Thread Stu Hood (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636510#action_12636510
 ] 

Stu Hood commented on ZOOKEEPER-127:


This patch has been committed, but the changes are not documented at all. 
Servers will fail to start (with a NPE) if using the old config format with 
only 1 port per server.

 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Critical
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-10-02 Thread Mahadev konar (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636512#action_12636512
 ] 

Mahadev konar commented on ZOOKEEPER-127:
-

though failing with a NPE is obiously bad :) ... please create a jira for it 


 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Critical
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-10-02 Thread Mahadev konar (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636511#action_12636511
 ] 

Mahadev konar commented on ZOOKEEPER-127:
-

ZOOKEEPER-151  has been created to fix that :)... we should change our example 
config file format at well.. 

 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Critical
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-09-18 Thread Austin Shoemaker (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632111#action_12632111
 ] 

Austin Shoemaker commented on ZOOKEEPER-127:


After about 6 runs of our unit test the test hangs as the service repeatedly 
tries to reelect the killed leader (similar to ZOOKEEPER-131 with algorithms 0 
and 1). 


After several more runs of our unit test using the patched algorithm 3, the 
test hangs as the service repeatedly tries to reelect the killed leader. This 
behavior is similar to ZOOKEEPER-131 which we had experienced using algorithms 
0 and 1.

Server 10 is 10.50.65.40 and has been explicitly killed. The following log is 
from server 5, which mirrors logs on all the other servers.

Any idea what's happening here?

2008-09-18 00:28:20,029 - INFO  [QuorumPeer:[EMAIL PROTECTED] - LOOKING
2008-09-18 00:28:20,029 - WARN  [QuorumPeer:[EMAIL PROTECTED] - unable to parse 
zxid string into long: txt
2008-09-18 00:28:20,029 - WARN  [QuorumPeer:[EMAIL PROTECTED] - New election: 
8589935405
2008-09-18 00:28:20,031 - WARN  [WorkerSender Thread:[EMAIL PROTECTED] - Cannot 
open channel to 10( java.net.ConnectException: Connection refused)
2008-09-18 00:28:20,031 - INFO  [QuorumPeer:[EMAIL PROTECTED] - FOLLOWING
2008-09-18 00:28:20,031 - INFO  [QuorumPeer:[EMAIL PROTECTED] - Created server 
with dataDir:/zookeeper_data/5_data dataLogDir:/zookeeper_data/5_data tickT
ime:2000
2008-09-18 00:28:20,031 - INFO  [QuorumPeer:[EMAIL PROTECTED] - Following 
/10.50.65.40:2888

[[[ exception below repeats 5 times ]]]

2008-09-18 00:28:20,032 - WARN  [QuorumPeer:[EMAIL PROTECTED] - Unexpected 
exception
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at 
org.apache.zookeeper.server.quorum.Follower.followLeader(Follower.java:137)
at 
org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:405)

[[[ then the follower is restarted ]]]

2008-09-18 00:28:24,049 - ERROR [QuorumPeer:[EMAIL PROTECTED] - FIXMSG
java.lang.Exception: shutdown Follower
at 
org.apache.zookeeper.server.quorum.Follower.shutdown(Follower.java:370)
at 
org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:409)

[[[ at this point the log repeats from the beginning ]]]


 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Minor
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-09-18 Thread Mahadev konar (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632118#action_12632118
 ] 

Mahadev konar commented on ZOOKEEPER-127:
-

flavio, just a reminder, the patch should be generated against the trunk and 
also ^M characters (line delimiters in windows) should not be there in the 
patch... :)

 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Minor
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-09-18 Thread Flavio Paiva Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632171#action_12632171
 ] 

Flavio Paiva Junqueira commented on ZOOKEEPER-127:
--

It happens typically that a follower starts up its follower code before the 
leader is available as a leader, so we get this connection refused exception. 
However, getting it 5 times means that there has been 5 attempts and no 
success, so the follower gave up and started a new leader election.  

By design, the situation that happens with LE 0 should not happen with LEs 1, 
2, or 3, since we use a logical clock to prevent a peer from using stale 
information on potential leaders.  In more detail, if a peer p1 starts a new 
leader election, and asks a peer p2 that believes that 10 is still the leader, 
then peer p1 shouldn't take p2's vote because it corresponds to the value 
decided in a previous election round. Moreover, because 10 is dead, we know 
that is can't vote, so the vote must come from another peer that believes that 
10 is the leader. 

There must be a bug in the leader election code then, so I'll check the code. 

 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Minor
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-09-18 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632211#action_12632211
 ] 

Patrick Hunt commented on ZOOKEEPER-127:


Austin, when you say our leader election unit tests is that something you 
could contribute back to the Apache ZK community? If so please create a new 
jira and attach a patch because I'd love to include them. Thanks.


 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Minor
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-09-17 Thread Flavio Paiva Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12631718#action_12631718
 ] 

Flavio Paiva Junqueira commented on ZOOKEEPER-127:
--

Cleanup code like this to use logging instead of printstacktrace.

 try {
 mySocket = new DatagramSocket(port);
 // mySocket.setSoTimeout(2);
 } catch (SocketException e1) {
 e1.printStackTrace();
 throw new Runtime

(Thanks for pointing it out, Pat)

 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Minor
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-09-17 Thread Austin Shoemaker (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632099#action_12632099
 ] 

Austin Shoemaker commented on ZOOKEEPER-127:


Applying the patch (from 9/17) to the latest trunk (r696563) now passes our 
leader election unit tests using algorithm 3. This is great.

Two minor issues I noticed:

1. The default constructor for QuorumPeer should call setStatsProvider, rather 
than the attribute-passing constructor. Since QuorumPeerMain calls the default 
constructor, echo stat | nc ... requests are returning invalid data because no 
provider is set.

2. In QuorumPeerConfig.java:105 where parts.length is checked the operator 
should be  instead of ||.


 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Assignee: Flavio Paiva Junqueira
Priority: Minor
 Fix For: 3.0.0

 Attachments: mhPortChanges.patch, ZOOKEEPER-127.patch, 
 ZOOKEEPER-127.patch, ZOOKEEPER-127.patch


 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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



[jira] Commented: (ZOOKEEPER-127) Use of non-standard election ports in config breaks services

2008-08-27 Thread Mark Harwood (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12626139#action_12626139
 ] 

Mark Harwood commented on ZOOKEEPER-127:


Thanks for the quick response, Flavio.

If we allow a different port for each peer, then we would need a line in the 
configuration file for each peer for leader election, right?

I currently do that. The config file allows you to specify an electionPort 
property which is read by QuorumPeerConfig. 
The javadocs for QuorumPeer don't document this but my assumption was that this 
was a legitimate setting and I could choose different values for each server as 
long as they all tied up OK.
This worked out OK for me using the sourceforge 2.2.1 version.

The main reason for me wanting to mess around with ports in this way was to 
allow me to test Zookeeper services out on my single development machine where 
I could fire up and kill individual processes. I imagine it may not be uncommon 
for people starting with Zookeeper to want to do this so I would suggest doing 
one of the following:

1) Documenting clearly that electionPorts must be the same on all machines (but 
this would disallow my scenario of single-machine testing of multiple 
QuorumPeerMain processes)
2) Fixing the code to allow multiple electionPorts to be used.

Am I understanding this correctly?
Thanks,
Mark






 Use of non-standard election ports in config breaks services
 

 Key: ZOOKEEPER-127
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-127
 Project: Zookeeper
  Issue Type: Bug
  Components: quorum
Affects Versions: 3.0.0
Reporter: Mark Harwood
Priority: Minor

 In QuorumCnxManager.toSend there is a call to create a connection as follows:
 channel = SocketChannel.open(new InetSocketAddress(addr, port));
 Unfortunately addr is the ip address of a remote server while port is the 
 electionPort of *this* server.
 As an example, given this configuration (taken from my zoo.cfg)
   server.1=10.20.9.254:2881
   server.2=10.20.9.9:2882
   server.3=10.20.9.254:2883
 Server 3 was observed trying to make a connection to host 10.20.9.9 on port 
 2883 and obviously failing.
 In tests where all machines use the same electionPort this bug would not 
 manifest itself.

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