cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CASSANDRA-488) TcpConnectionManager only ever has one connection
Date Wed, 04 Nov 2009 17:27:32 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jonathan Ellis updated CASSANDRA-488:
-------------------------------------

    Attachment: 488-v3.patch

reformatted a couple things here.

let's use synchronized instead of lock in TCM, and add a method to null a cached conn back
out for use in TC.close / errorClose.

(may not be necessary in close, i think that's only used in "streaming" conns which are never
one of the cached ones.  but haven't looked too closely.)

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


Mime
View raw message