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