[
https://issues.apache.org/jira/browse/CASSANDRA-488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Ellis updated CASSANDRA-488:
-------------------------------------
Attachment: (was: 488-v3.patch)
> 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
>
> Attachments: 488-v3.patch, cassandra-488-v1.patch,
> cassandra-488-v2.patch
>
>
> 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.