JSON Transforms are not working from data flow.

Hi,

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

Hello @IndrasenanS ,

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.

Regards,

Paulina

Those DSS were introduced in 8.6.5, 8.7.3 and 8.8 version.

@IndrasenanS please can you confirm that you will update to 8.6.5 where we have resolved the known issue as outlined by my colleague Paulina?

As of Pega 8.6.5 you will be able to make use of the DSS as outlined in Paulina’s explanation.

You can see the details in the 8.6.5 Patch Resolved Issues documentation. Please do a search for the words ‘Kafka dataset’ (Issue ‘715680’).

Please can you mark Accept Solution on Paulina’s reply to confirm your question has been answered?

@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.

Please could you advise?

Thank you,

Nika Houkes

@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 !

Regards,

Sravan

@SravanM17032942 ,We are using PEGA 8.8.3. Above suggested DSS resolved the issue we faced.

@SravanM17032942 we created below DSS and set value as false.

dataset/Datasetclass/Datasetname/JSONDataTransform/deserialization/useDSMPage
dataset/Datasetclass/Datasetname/JSONDataTransform/serialization/useDSMPage

Please note these DSS needs to be in Pega-DecisionEngine ruleset.

Above configuration resolved the issue in our scenario.

@Nika_H Did you get any updates on this and were you able to resolve this?

@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.