Ideas please, on what I may be doing wrong? On Sat, Oct 24, 2015 at 5:48 PM, Ajay Garg <ajaygargn...@gmail.com> wrote:
> Hi All. > > I have been doing extensive testing, and replication works fine, even if > any permuatation of CAS11, CAS12, CAS21, CAS22 are downed and brought up. > Syncing always takes place (obviously, as long as continuous-downtime-value > does not exceed *max_hint_window_in_ms*). > > > However, things behave weird when I try connecting via DataStax > Java-Driver. > I always add the nodes to the cluster in the order :: > > CAS11, CAS12, CAS21, CAS22 > > during "cluster.connect" method. > > > Now, following happens :: > > a) > If CAS11 goes down, data is persisted fine (presumably first in CAS12, and > later replicated to CAS21 and CAS22). > > b) > If CAS11 and CAS12 go down, data is NOT persisted. > Instead the following exceptions are observed in the Java-Driver :: > > > ################################################################################## > Exception in thread "main" > com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) > tried for query failed (no host was tried) > at > com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65) > at > com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:258) > at com.datastax.driver.core.Cluster.connect(Cluster.java:267) > at com.example.cassandra.SimpleClient.connect(SimpleClient.java:43) > at > com.example.cassandra.SimpleClientTest.setUp(SimpleClientTest.java:50) > at > com.example.cassandra.SimpleClientTest.main(SimpleClientTest.java:86) > Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: > All host(s) tried for query failed (no host was tried) > at > com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:103) > at > com.datastax.driver.core.SessionManager.execute(SessionManager.java:446) > at > com.datastax.driver.core.SessionManager.executeQuery(SessionManager.java:482) > at > com.datastax.driver.core.SessionManager.executeAsync(SessionManager.java:88) > at > com.datastax.driver.core.AbstractSession.executeAsync(AbstractSession.java:60) > at com.datastax.driver.core.Cluster.connect(Cluster.java:260) > ... 3 more > > ################################################################################### > > > I have already tried :: > > 1) > Increasing driver-read-timeout from 12 seconds to 30 seconds. > > 2) > Increasing driver-connect-timeout from 5 seconds to 30 seconds. > > 3) > I have also confirmed that each of the 4 nodes are telnet-able over ports > 9042 and 9160 each. > > > Definitely seems to be some driver-issue, since > data-persistence/replication works perfect (with any permutation) if > data-persistence is done via "cqlsh". > > > Kindly provide some pointers. > Ultimately, it is the Java-driver that will be used in production, so it > is imperative that data-persistence/replication happens for any downing of > any permutation of node(s). > > > Thanks and Regards, > Ajay > -- Regards, Ajay