You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (JIRA)" <ji...@apache.org> on 2014/12/09 23:43:12 UTC

[jira] [Resolved] (CASSANDRA-8450) Cassandra node announces availability before it is ready to accept CQL clients

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

Tyler Hobbs resolved CASSANDRA-8450.
------------------------------------
    Resolution: Duplicate

Closing as a duplicate of CASSANDRA-8236

> Cassandra node announces availability before it is ready to accept CQL clients
> ------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-8450
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8450
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Vishy Kasar
>
> We see cases where on a restart, the cassandra node announces the availability to java driver clients before it is ready to accept CQL clients. The java-driver gets an onUp message, attempts to create a connection to the cassandra node which promptly rejects its connection. When there are large number of clients, this error is seen by all clients. We should delay the announcements until the node is ready to accept connections. 
> server log:
> INFO [main] 2014-12-07 01:34:47,921 Server.java (line 156) Starting listening for CQL clients on host/ip:9042...
> client log:
> com.datastax.driver.core.TransportException: [host1/ip1:9042] Cannot connect
> 	at com.datastax.driver.core.Connection.<init>(Connection.java:105)
> 	at com.datastax.driver.core.PooledConnection.<init>(PooledConnection.java:35)
> 	at com.datastax.driver.core.Connection$Factory.open(Connection.java:522)
> 	at com.datastax.driver.core.HostConnectionPool.<init>(HostConnectionPool.java:86)
> 	at com.datastax.driver.core.SessionManager.replacePool(SessionManager.java:269)
> 	at com.datastax.driver.core.SessionManager.access$400(SessionManager.java:39)
> 	at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:301)
> 	at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:293)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.net.ConnectException: Connection refused: host1/ip1:9042
> 	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
> 	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
> 	at org.jboss.netty.channel.socket.nio.NioClientBoss.connect(NioClientBoss.java:150)
> 	at org.jboss.netty.channel.socket.nio.NioClientBoss.processSelectedKeys(NioClientBoss.java:105)
> 	at org.jboss.netty.channel.socket.nio.NioClientBoss.process(NioClientBoss.java:79)
> 	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
> 	at org.jboss.netty.channel.socket.nio.NioClientBoss.run(NioClientBoss.java:42)
> 	... 3 more
> 2014-12-07 01:34:44,011  [Cassandra Java Driver worker-1070] - onUp address=ip1 host=host1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)