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

Pega Marketing campaign failure in production

SA-46980

Summary



When a strategy rule contains a GeoFence Filter, the result become incorrect if the GeoFence Filter is preceded with a component with no data input like a normal Filter Component.

Should the normal Filter component return false, the GeoFence Filter still return result which is incorrect. GeoFence Filter returns an empty page with just pySubjectID populated.


Error Messages



com.pega.pegarules.pub.clipboard.InvalidParameterException: Class not defined in dictionary: PegaMKT-Work-Offer--. Details: Invalid value for aClassName passed to .createPage at com.pega.pegarules.session.internal.mgmt.base.ThreadPageDir.validateClass(ThreadPageDir.java:959) at com.pega.pegarules.session.internal.mgmt.base.AbstractPageDirectory.createPage(AbstractPageDirectory.java:606) at com.pega.pegarules.session.internal.mgmt.base.ThreadPageDir.createPageForPageNew(ThreadPageDir.java:375) at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.createPageForPageNew(PRThreadImpl.java:502) at com.pegarules.generated.activity.ra_action_initiateoffersforcustomer_d8009227b843190fd25067b77a2ec88b.step2_15_circum0(ra_action_initiateoffersforcustomer_d8009227b843190fd25067b77a2ec88b.java:1857) at com.pegarules.generated.activity.ra_action_initiateoffersforcustomer_d8009227b843190fd25067b77a2ec88b.step2_0_circum0(ra_action_initiateoffersforcustomer_d8009227b843190fd25067b77a2ec88b.java:674) at com.pegarules.generated.activity.ra_action_initiateoffersforcustomer_d8009227b843190fd25067b77a2ec88b.perform(ra_action_initiateoffersforcustomer_d8009227b843190fd25067b77a2ec88b.java:107) at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505) at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10563) at com.pegarules.generated.activity.ra_action_initiatebatchoffer_dafe47fbe294811a1dcc25c988d56f3a.step8_1_circum0(ra_action_initiatebatchoffer_dafe47fbe294811a1dcc25c988d56f3a.java:1066) at com.pegarules.generated.activity.ra_action_initiatebatchoffer_dafe47fbe294811a1dcc25c988d56f3a.step8_0_circum0(ra_action_initiatebatchoffer_dafe47fbe294811a1dcc25c988d56f3a.java:840) at com.pegarules.generated.activity.ra_action_initiatebatchoffer_dafe47fbe294811a1dcc25c988d56f3a.perform(ra_action_initiatebatchoffer_dafe47fbe294811a1dcc25c988d56f3a.java:218) at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505) at com.pegarules.generated.testgen.Rule_Decision_AAA_BB_FW_DATA_XXXXX_YYYYY_DFdca3189404dad78ad8a15971256055867ff68171_Action_20170928T152732_322_GMT$4$1.onNext(Rule_Decision_AAA_BB_FW_DATA_XXXXX_YYYYY_DFdca3189404dad78ad8a15971256055867ff68171_Action_20170928T152732_322_GMT.java:235) at com.pega.dsm.dnode.api.dataflow.DataFlowStageBatchProcessor.commitBatchInternal(DataFlowStageBatchProcessor.java:102) at com.pega.dsm.dnode.api.dataflow.DataFlowStageBatchProcessor.commitBatch(DataFlowStageBatchProcessor.java:92) at com.pega.dsm.dnode.api.dataflow.DataFlowStageBatchProcessor.onPulse(DataFlowStageBatchProcessor.java:72) at com.pega.dsm.dnode.api.dataflow.DataFlowStage$StageInputSubscriber.onPulse(DataFlowStage.java:320) at com.pega.dsm.dnode.api.dataflow.DataFlowExecutor$QueueBasedDataFlowExecutor.runEventLoop(DataFlowExecutor.java:131) at com.pega.dsm.dnode.api.dataflow.DataFlow$1.emit(DataFlow.java:162) at com.pega.dsm.dnode.impl.stream.DataObservableImpl.subscribe(DataObservableImpl.java:56) at com.pega.dsm.dnode.impl.dataflow.manager.LocalRun.execute(LocalRun.java:149) at com.pega.dsm.dnode.impl.dataflow.manager.LocalRun.lockAndRun(LocalRun.java:87) at com.pega.dsm.dnode.impl.dataflow.manager.LocalRun.run(LocalRun.java:63) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at com.pega.dsm.dnode.impl.prpc.PrpcThreadFactory$PrpcThread.run(PrpcThreadFactory.java:81)


Steps to Reproduce



Schedule a campaign with a strategy with a GeoFence filter preceded with a component with no input data.



Root Cause



A software use or operation error. The marketing filter shapes for example, Geofence are designed to filter incoming inputs.

If there is no input, these shapes act as a driver to support the configuration where they are the first shape in the strategy.

Resolution



An enhancement request, FDBK-23582, has been created for consideration by Pega Product Management.

To overcome this issue, the strategy can be reconfigured:

Switch the order of the Geofence Filter and the regular Filter.

(Or)

Add another Filter shape after the Geofence Filter shape.

Published January 12, 2018 - Updated December 2, 2021

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