You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/11/02 16:24:59 UTC

[jira] Commented: (CASSANDRA-488) TcpConnectionManager only ever has one connection

    [ https://issues.apache.org/jira/browse/CASSANDRA-488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12772535#action_12772535 ] 

Jonathan Ellis commented on CASSANDRA-488:
------------------------------------------

that's the idea :)

> TcpConnectionManager only ever has one connection
> -------------------------------------------------
>
>                 Key: CASSANDRA-488
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-488
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.5
>
>
> from irc:
> jbellis: am i missing something?  it looks like TcpConnectionManager.allConnections_ will only ever contain a single TcpConnection, since before adding any connection it checks contains() first, which relies on TcpConn.equals, which reports that any TcpConns w/ same local & remote endpoints are equal
> junrao: yes, TcpConnectionManager.allConnections_ can have no more than 1 element.
> jbellis: that might explain why it's so easy to swamp things and start getting timeouts -- if all your connections are full of command data, "success" replies will have to wait for those to drain out first before being sent
> IMO the Right Design is one connection for commands, one connection for acks/replies, rather than a single pool of connections for everything.  that way a connection from A -> B "full" of outgoing commands can't block replies from A -> B acking commands that came the other way.

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