Yes, this will happen, but should be okay, since the connect retries will take care of it (hopefully). This already happened with the old code (as you mentioned).

I'm also working on a more robust implementation that will retry failed requests going forward (and establish broken connections).

Avery

On 8/15/12 3:04 PM, Eli Reisman (JIRA) wrote:
     [ 
https://issues.apache.org/jira/browse/GIRAPH-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13435564#comment-13435564
 ]

Eli Reisman commented on GIRAPH-300:
------------------------------------

Getting errors like this during input superstep on about 20% of my workers, 
happens on small and large jobs. This happened before this patch got committed, 
but seems to be happening now too. Anyone seeing this on your runs?


Aug 15, 2012 9:55:25 PM org.jboss.netty.channel.DefaultChannelPipeline
WARNING: An exception was thrown by a user handler while handling an exception 
event ([id: 0x48433545] EXCEPTION: java.net.ConnectException: Connection timed 
out)
java.lang.IllegalStateException: exceptionCaught: Channel failed with remote 
address null
        at 
org.apache.giraph.comm.ResponseClientHandler.exceptionCaught(ResponseClientHandler.java:107)
        at 
org.jboss.netty.handler.codec.frame.FrameDecoder.exceptionCaught(FrameDecoder.java:244)
        at 
org.apache.giraph.comm.ByteCounter.handleUpstream(ByteCounter.java:61)
        at 
org.jboss.netty.channel.Channels.fireExceptionCaught(Channels.java:426)
        at 
org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.connect(NioClientSocketPipelineSink.java:406)
        at 
org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.processSelectedKeys(NioClientSocketPipelineSink.java:362)
        at 
org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.run(NioClientSocketPipelineSink.java:284)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.ConnectException: Connection timed out
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at 
sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
        at 
org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.connect(NioClientSocketPipelineSink.java:400)
        ... 5 more

Improve netty reliability with retrying failed connections, tracking requests, 
thread-safe hash partitioning
------------------------------------------------------------------------------------------------------------

                 Key: GIRAPH-300
                 URL: https://issues.apache.org/jira/browse/GIRAPH-300
             Project: Giraph
          Issue Type: Improvement
            Reporter: Avery Ching
            Assignee: Avery Ching
         Attachments: GIRAPH-300.2.patch, GIRAPH-300.patch


* Upgrade to the most recent stable version of Netty (3.5.3.Final)
* Try multiple connection attempts up to n failures
* Track requests throughout the system by keeping track of the request id and 
then matching the request id to the response (minor refactoring of 
WritableRequest to make requests simpler and support the request id)
* Improved handling of netty exceptions by dumping the exception stack to help 
debug failures
* Fixes bug in HashWorkerPartitioner by making partitionList thread-safe (this 
causes divide by zero exceptions in real life)
Currently, netty connection failures causes issues with more than 75 workers in 
my setup.  This allows us to reach over 200+ in a reasonably reliable network 
that doesn't kill connections.
This code passes the local Hadoop regressions and the single node Hadoop 
instance regressions.  It also succeeded on large runs (200+ workers) on a real 
Hadoop cluster.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to