Support Article

DNodeException: Cannot execute modification statement

SA-26759

Summary



The DNode or Adaptive logic is working fine on development environment with single node.

The same code is not working in pre-prod multi-node environment.


The error message coming on few nodes at same time it is working fine on other nodes and it sporadic in nature.

Error Messages



Caused by: com.pega.dsm.dnode.impl.core.ExceptionWithInputRecord: com.pega.dsm.dnode.api.DNodeException: Cannot execute modification statement
... 86 more
Caused by: com.pega.dsm.dnode.api.DNodeException: Cannot execute modification statement
at com.pega.dsm.dnode.impl.cassandra.CassandraDao.executeStatement(CassandraDao.java:172)
at com.pega.dsm.dnode.impl.cassandra.CassandraDataRepository.insert(CassandraDataRepository.java:244)
at com.pega.dsm.dnode.impl.dataset.cassandra.CassandraSaveOperation$2.emit(CassandraSaveOperation.java:104)
at com.pega.dsm.dnode.impl.stream.DataObservableImpl$SafeDataSubscriber.subscribe(DataObservableImpl.java:320)
at com.pega.dsm.dnode.impl.stream.DataObservableImpl.subscribe(DataObservableImpl.java:52)
at com.pega.dsm.dnode.impl.stream.DataObservableImpl.await(DataObservableImpl.java:98)
at com.pega.dsm.dnode.impl.stream.DataObservableImpl.await(DataObservableImpl.java:87)
at com.pega.dsm.dnode.impl.dataflow.strategy.DelayedLearning.saveResultsForDelayedLearning(DelayedLearning.java:53)
at com.pega.dsm.dnode.impl.dataflow.strategy.StrategyStageProcessor.onNext(StrategyStageProcessor.java:158)
... 85 more
Caused by: org.apache.cassandra.exceptions.UnavailableException: Cannot achieve consistency level ONE
at org.apache.cassandra.db.ConsistencyLevel.assureSufficientLiveNodes(ConsistencyLevel.java:292)
at org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes(AbstractWriteResponseHandler.java:117)
at org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:382)
at org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:191)
at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:128)
at com.pega.dsm.dnode.impl.cassandra.CassandraDao.executeStatement(CassandraDao.java:170)


Steps to Reproduce



1) Execute SOAP Service.
2) In Service Activity - setup predictors.
3) Execute Data Flow which in turn calls Strategies which contain Adaptive Model.


Root Cause



A defect in Pegasystems’ code or rules.



Resolution



Apply HFix-28748.

 

Published August 12, 2016 - Updated August 24, 2016

Have a question? Get answers now.

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