I am not using Elasticssearch. I am trying to perform some database operations in cassandra using CQL. I am using threads. While running the code I am always getting the exception in thread after a while : com.datastax.oss.driver.api.core.NoNodeAvailableException: No node was available to execute the query.
I have tested with even one thread. The error is still there. Here is my code :
InetAddress addrOne = InetAddress.getByName("52.15.195.41");
InetSocketAddress addrSocOne = new InetSocketAddress(addrOne,9042);
CqlSession sessionOne = CqlSession.builder().addContactPoint(addrSocOne).withLocalDatacenter("us-east-2").withKeyspace("test").build();
while(counter <= 100)
{
String query = "select max(id) FROM samplequeue";
ResultSet rs = session.execute(query);
for (Row row : rs)
{
int exS = row.getInt("system.max(id)");
}
counter++;
Thread.sleep(50);
}
This is a very simple, modified example just to demonstrate the problem. I am unable to resolve it. All the threads are exiting giving the same exception. I am running cassandra 3.11.4 on AWS. All my nodes are up and running and I can perform operations finely in the backend.
Change .withLocalDatacenter("us-east-2")
to .withLocalDatacenter("datacenter1")
and retry.