[jira] Updated: (ZOOKEEPER-519) Followerhandler should close the socket if it gets an exception on a write.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mahadev konar updated ZOOKEEPER-519: Status: Open (was: Patch Available) Followerhandler should close the socket if it gets an exception on a write. --- Key: ZOOKEEPER-519 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-519 Project: Zookeeper Issue Type: Bug Reporter: Mahadev konar Assignee: Mahadev konar Fix For: 3.3.0 Attachments: ZOOKEEPER-519.patch We noticed this in our tests - {code} java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) at java.io.DataOutputStream.write(DataOutputStream.java:90) at java.io.FilterOutputStream.write(FilterOutputStream.java:80) at org.apache.jute.BinaryOutputArchive.writeBuffer(BinaryOutputArchive.java:122) at org.apache.zookeeper.server.DataNode.serialize(DataNode.java:126) at org.apache.jute.BinaryOutputArchive.writeRecord(BinaryOutputArchive.java:126) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:878) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serialize(DataTree.java:940) at org.apache.zookeeper.server.util.SerializeUtils.serializeSnapshot(SerializeUtils.java:102) at org.apache.zookeeper.server.ZooKeeperServer.serializeSnapshot(ZooKeeperServer.java:269) at org.apache.zookeeper.server.quorum.FollowerHandler.run(FollowerHandler.java:263) {code} So the followerhandler got an exception while writing to the socket but the follower was still waiting on the socket for a read and got a read timeout after 60 seconds or so. To just make sure we handle this rightly, we should close the socket at the followerhandler when we get an excpetion, so that the follower immediately recognizes that its disconnected from the leader. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-519) Followerhandler should close the socket if it gets an exception on a write.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mahadev konar updated ZOOKEEPER-519: Status: Patch Available (was: Open) re submitting to hudson. Followerhandler should close the socket if it gets an exception on a write. --- Key: ZOOKEEPER-519 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-519 Project: Zookeeper Issue Type: Bug Reporter: Mahadev konar Assignee: Mahadev konar Fix For: 3.3.0 Attachments: ZOOKEEPER-519.patch We noticed this in our tests - {code} java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) at java.io.DataOutputStream.write(DataOutputStream.java:90) at java.io.FilterOutputStream.write(FilterOutputStream.java:80) at org.apache.jute.BinaryOutputArchive.writeBuffer(BinaryOutputArchive.java:122) at org.apache.zookeeper.server.DataNode.serialize(DataNode.java:126) at org.apache.jute.BinaryOutputArchive.writeRecord(BinaryOutputArchive.java:126) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:878) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serialize(DataTree.java:940) at org.apache.zookeeper.server.util.SerializeUtils.serializeSnapshot(SerializeUtils.java:102) at org.apache.zookeeper.server.ZooKeeperServer.serializeSnapshot(ZooKeeperServer.java:269) at org.apache.zookeeper.server.quorum.FollowerHandler.run(FollowerHandler.java:263) {code} So the followerhandler got an exception while writing to the socket but the follower was still waiting on the socket for a read and got a read timeout after 60 seconds or so. To just make sure we handle this rightly, we should close the socket at the followerhandler when we get an excpetion, so that the follower immediately recognizes that its disconnected from the leader. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-507) Improve error handling of BookKeeper client
[ https://issues.apache.org/jira/browse/ZOOKEEPER-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12774113#action_12774113 ] Flavio Paiva Junqueira commented on ZOOKEEPER-507: -- One small comment at this point is that we have no lib folder under bookkeeper, and Pat tells me that putting under PROJECT_ROOT/src/java/lib is not ok. So, it doesn't compile without modifying build.xml. I see two options: # We create a bookkeeper/src/java/lib folder and add the netty jar. In this case, we edit build.xml to set its classpath appropriately; # We make it use ivy and fetch from a repository. Another point is that for the new bookie classes, I haven't seen javadocs or comments at all. I think it would be great to have some in there. Improve error handling of BookKeeper client --- Key: ZOOKEEPER-507 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-507 Project: Zookeeper Issue Type: Improvement Components: contrib-bookkeeper Reporter: Flavio Paiva Junqueira Assignee: Utkarsh Srivastava Attachments: ZOOKEEPER-507.patch Error handling is far from ideal currently in the BookKeeper client. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-519) Followerhandler should close the socket if it gets an exception on a write.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12774121#action_12774121 ] Hadoop QA commented on ZOOKEEPER-519: - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12423855/ZOOKEEPER-519.patch against trunk revision 831486. +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no tests are needed for this patch. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Zookeeper-Patch-h8.grid.sp2.yahoo.net/47/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Zookeeper-Patch-h8.grid.sp2.yahoo.net/47/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: http://hudson.zones.apache.org/hudson/job/Zookeeper-Patch-h8.grid.sp2.yahoo.net/47/console This message is automatically generated. Followerhandler should close the socket if it gets an exception on a write. --- Key: ZOOKEEPER-519 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-519 Project: Zookeeper Issue Type: Bug Reporter: Mahadev konar Assignee: Mahadev konar Fix For: 3.3.0 Attachments: ZOOKEEPER-519.patch We noticed this in our tests - {code} java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) at java.io.DataOutputStream.write(DataOutputStream.java:90) at java.io.FilterOutputStream.write(FilterOutputStream.java:80) at org.apache.jute.BinaryOutputArchive.writeBuffer(BinaryOutputArchive.java:122) at org.apache.zookeeper.server.DataNode.serialize(DataNode.java:126) at org.apache.jute.BinaryOutputArchive.writeRecord(BinaryOutputArchive.java:126) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:878) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serializeNode(DataTree.java:890) at org.apache.zookeeper.server.DataTree.serialize(DataTree.java:940) at org.apache.zookeeper.server.util.SerializeUtils.serializeSnapshot(SerializeUtils.java:102) at org.apache.zookeeper.server.ZooKeeperServer.serializeSnapshot(ZooKeeperServer.java:269) at org.apache.zookeeper.server.quorum.FollowerHandler.run(FollowerHandler.java:263) {code} So the followerhandler got an exception while writing to the socket but the follower was still waiting on the socket for a read and got a read timeout after 60 seconds or so. To just make sure we handle this rightly, we should close the socket at the followerhandler when we get an excpetion, so that the follower immediately recognizes that its disconnected from the leader. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
ZooKeeper talks at the post-Apachecon Hadoop Meetup tonight
Apologies for the late notice, but I wanted to advertise a pair of short talks by Mahadev and myself at the Hadoop Meetup tonight in Oakland: Mahadev will be giving a broad overview of ZooKeeper and talking about its uses inside and outside of Yahoo!, and I will be talking about upcoming features that I've been working on including observers and dynamic ensembles. There will be other talks as well on HDFS and other topics. Rumour has it there will be beer (but don't hold me to that!). The meetup is at the Mariott Oakland City Center. Google map is here: http://maps.google.com/maps?oe=utf-8client=firefox-aie=UTF8q=merriot+oaklandfb=1gl=ushq=merriothnear=oaklandcid=0,0,204705793290918968ei=k3jzSqbJA4WksgPZ58gdved=0CAwQnwIwAAll=37.803087,-122.272575spn=0.009766,0.022724z=16iwloc=A I'll post my slides in the next day or so. Hope some of you can make it! cheers, Henry Henry Robinson Software Engineer Cloudera