I have issue with mapping a JSON data Transforms. When i run data set alone without any issue i am able browse records from Kafka with JSON data Transforms.
If i refer that data set in data flow. i am having issue with JSON mapping . i am getting the below error messages.
can anyone please help me to resolve this issue.
Log:
com.pega.platform.executionengine.vtable.internal.RuleDispatcherImpl.invokeModel(RuleDispatcherImpl.java:165) at com.pega.decision.dsm.strategy.clipboard.DSMPegaAPI.applyModel(DSMPegaAPI.java:330) at com.pega.decision.dsm.strategy.clipboard.DSMPegaAPI.applyModel(DSMPegaAPI.java:301) at com.pega.dsm.kafka.api.serde.DataTransformSerde.deserializeWithUsageOfJsonDataTransform(DataTransformSerde.java:80) at com.pega.dsm.kafka.api.serde.DataTransformSerde.deserialize(DataTransformSerde.java:72) at com.pega.dsm.kafka.api.serde.LazyExceptionHandlingSerDe.deserialize(LazyExceptionHandlingSerDe.java:77) at com.pega.dsm.dnode.impl.dataset.kafka.KafkaBrowseOperation.deserializeMessage(KafkaBrowseOperation.java:347) at com.pega.dsm.dnode.impl.dataset.kafka.KafkaBrowseOperation.convertRecordToClipboardPage(KafkaBrowseOperation.java:302) at com.pega.dsm.dnode.impl.dataset.kafka.KafkaBrowseOperation.processRecords(KafkaBrowseOperation.java:210) … 27 more Caused by: java.lang.UnsupportedOperationException at com.pega.decision.dsm.strategy.clipboard.DSMClipboardPropertyAtomicInList.getProperty(DSMClipboardPropertyAtomicInList.java:137) at com.pega.pegarules.data.internal.clipboard.mapping.json.ClipboardJSONDeserializer.createChildProperty(ClipboardJSONDeserializer.java:490) at com.pega.pegarules.data.internal.clipboard.mapping.json.ClipboardJSONDeserializer.populateClipboardWithJson(ClipboardJSONDeserializer.java:291) at com.pega.pegarules.data.internal.clipboard.mapping.json.ClipboardJSONDeserializer.populateClipboardPage(ClipboardJSONDeserializer.java:135) at com.pega.pegarules.data.internal.clipboard.mapping.json.ClipboardJSONMapper.deserialize(ClipboardJSONMapper.java:57) at
You have to use DSM pages by setting the dataset/CLASS_NAME/DATASET_NAME/JSONDataTransform/deserialization/useDSMPage dynamic system setting to true – the DSS is set per data set instance, CLASS_NAME and DATASET_NAME are placeholders to be be replaced by data set’s pyClassName and pyPurpose property values.
When the DSS is set to true, the DSM clipboard pages can be generated when Kafka records are deserialized using JSON data transform (behavior before introduced hotfix). When set to false, then JSON data transform generates regular clipboard pages and converts them later to DSM clipboard pages. So the solution is to set it to false.
A similar DSS – dataset/{CLASS_NAME}/{DATASET_NAME}/JSONDataTransform/serialization/useDSMPage owned by Pega-DecisionEngine – was introduced for serialization. So the solution is to set it to false.
The value is cached for one minute, after which time period it should have effect.
@baczp Thank you very much for this information. I am working in 8.7.4, and am unable to find these DSS. I have created one manually, but am still encountering the error. Interestingly, when investigating the input record for the data flow, it seems to have mapped correctly but it’s still failing.
@Indrasenan Subramani I am also facing similar issue, could you confirm if you have tried the solution suggested below has resolved the issue ? Thanks in advance !
@baczp We have been using PEGA 8.8.2 Version and facing the same issue. Getting exception “com.pega.pegarules.pub.PRRuntimeException: LegacyModelAspectInvokableRuleContainer.invoke-Exception Encountered a :java.lang.UnsupportedOperationException”. These DSS were not available and we tried manually adding the mentioned DSS but not able to resolve the issue. Is there any hot fix available for version 8.8.2?
@SatheeshP Thanks for your response ! We are also using Pega 8.8.3. I have created above suggested DSS for deserialization. . Do we need to create DSS for deserialization and serialization as well to resolve the issue ? Your help is much appreciated.