incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Morel (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (S4-7) Netty to tolerate network glitches and connection loss
Date Fri, 02 Mar 2012 16:41:57 GMT

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

Matthieu Morel commented on S4-7:
---------------------------------

thanks karthik. Unfortunately, I successfully applied the patch, but keep getting intermittent
but frequent failures in the network glitch and multi partition tests.

>From what I see, the implementation looks ok but possibly not the tests (possibly related
to the usage of clock-based time in the tests, with non deterministic results depending on
the hardware+software stack). I also fixed a small issue and uploaded the modifications to
S4-7-FIX.

Please have a look at the tests, maybe you can find a way more deterministic way to implement
them? 
Also if you do a modification and include it in a patch, only add commits on top of S4-7-FIX
(no rebasing / squashing).
                
> Netty to tolerate network glitches and connection loss
> ------------------------------------------------------
>
>                 Key: S4-7
>                 URL: https://issues.apache.org/jira/browse/S4-7
>             Project: Apache S4
>          Issue Type: Bug
>            Reporter: Leo Neumeyer
>            Assignee: Karthik Kambatla
>             Fix For: 0.5
>
>         Attachments: S4-7.patch
>
>
> NettyEmitter connects to different partitions and creates channels over which it communicates
to other listeners.
> It suffers from the following issues -- 
> 1. If the underlying topology changes, the channels and the associated connections are
not updated.
> 2. If a connection gets disconnected, it stays disconnected.
> 3. If for any reason, a connection can't be made, send() drops the message to be sent.
> The solution is to - 
> 1. Maintain a bounded messageQueue for each destination partition - if a connection does
not exist, the message should be queued.
> 2. Maintain a map of the channel used for each destination partition - update this map
on changes to topology, or on send() in case of disconnections.
> 3. Every time a (re-)connection is made, send the queued messages first.

--
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

        

Mime
View raw message