Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

DDS queries to data center fail with NoHostAvailableException

SA-74511

Summary



Decision Data Store queries to one of the two data centers fail with NoHostAvailableException.


Error Messages



ERROR - x.y.z: com.pega.pegarules.pub.PRRuntimeError
com.pega.pegarules.pub.PRRuntimeError: PRRuntimeError
 at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:712)
 at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivitiesAlt(PRThreadImpl.java:465)
 at java.lang.Thread.run(Thread.java:745)
Caused by: com.pega.pegarules.pub.PRRuntimeException: Exception during data set execution
 at com.pegarules.generated.dataset.ra_action_accountsbdp_6e745915dc5e304972da588f9c48d8c1.perform(ra_action_accountsbdp_6e745915dc5e304972da588f9c48d8c1.java:127)
 at com.pega.pegarules.session.internal.mgmt.Executable.doAction(Executable.java:3358)
Caused by: 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:84)
 at com.pega.dsm.dnode.impl.stream.DataObservableImpl.subscribe(DataObservableImpl.java:53)
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.reportNoMoreHosts(RequestHandler.java:217)
 at com.datastax.driver.core.RequestHandler.access$1000(RequestHandler.java:44)
 at com.datastax.driver.core.RequestHandler$SpeculativeExecution.sendRequest(RequestHandler.java:276)
 at com.datastax.driver.core.RequestHandler.startNewExecution(RequestHandler.java:117)
 at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:93)
 at com.datastax.driver.core.SessionManager.execute(SessionManager.java:574)
 at com.datastax.driver.core.SessionManager.prepareAsync(SessionManager.java:146)
 at com.datastax.driver.core.AbstractSession.prepare(AbstractSession.java:77)
 ... 86 more



Steps to Reproduce

  1. Log in to the application
  2. Add an additional data center with new nodes in the Cassandra cluster
  3. Configure new nodes to the new data centre using cassandra-rackdc.properties and GossippingPropertyFileSnitch
  4. Run the flow


Root Cause



The data center name was not passed to the Cassandra load balancing policy. This prevented the read/write privileges from the existing data centers.


Resolution

  1. Apply HFix-39935
  2. Navigate to prconfig set all nodes as dnode/cassandra_datacenter=name_of_the_datacenter. Ensure the 'name_of_the_datacenter' should match the name of the correct Cassandra data center
  3. Apply the entry to all the nodes (Web nodes ,DDS nodes) and add the respective data center names and restart them

 

Published May 22, 2019 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us