Question
Infosys
US
Last activity: 31 Aug 2020 14:33 EDT
Seeing StackOverflowError if Calling an Activity in DataTransform and that have a Service Call which takes more than 40 sec e.g.
Hi Everyone,
We have a service call and this communicates with many down stream systems to get the data. Say sometime it takes less than 1 sec or greater than 40 sec and it all depends on profile actually (we get response of multiple records say 1+ or 1000+ as of now). This service call (Connect-Soap) is needed for sure in WorkObject Creation and this got referred in an Activity and that Activity calling in an DataTransform rule.
We have a timeout of 120 sec in Connect-Soap. Say if this service call takes 40 sec to get the response, then we are seeing "java.lang.StackOverflowError" . If we are running the activity standalone it is working as expected. We know that it is not Parallel processing or someother when we are calling this activity through DataTransform.
After this Service call activity, we have some other steps execution in DataTransform as well. Say if Service call takes more than 40 sec, thinking of Hardstop at DataTransform level.
Also the other system don't have that much test data in their Low level environments to reproduce the same in our Low level enviroments. This issue is happening in Prod.
Can some one please provide how to resolve this :
Do we have any DataTransform Limitations ?
Here is the sample Log information :
----------------------------------------------------------------------------------------------------
Hi Everyone,
We have a service call and this communicates with many down stream systems to get the data. Say sometime it takes less than 1 sec or greater than 40 sec and it all depends on profile actually (we get response of multiple records say 1+ or 1000+ as of now). This service call (Connect-Soap) is needed for sure in WorkObject Creation and this got referred in an Activity and that Activity calling in an DataTransform rule.
We have a timeout of 120 sec in Connect-Soap. Say if this service call takes 40 sec to get the response, then we are seeing "java.lang.StackOverflowError" . If we are running the activity standalone it is working as expected. We know that it is not Parallel processing or someother when we are calling this activity through DataTransform.
After this Service call activity, we have some other steps execution in DataTransform as well. Say if Service call takes more than 40 sec, thinking of Hardstop at DataTransform level.
Also the other system don't have that much test data in their Low level environments to reproduce the same in our Low level enviroments. This issue is happening in Prod.
Can some one please provide how to resolve this :
Do we have any DataTransform Limitations ?
Here is the sample Log information :
----------------------------------------------------------------------------------------------------
java.lang.StackOverflowError at java.io.ObjectStreamClass$FieldReflector.getPrimFieldValues(ObjectStreamClass.java:2266) at java.io.ObjectStreamClass.getPrimFieldValues(ObjectStreamClass.java:1461) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1600) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:458) at org.apache.xerces.dom.NodeImpl.writeObject(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1212) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1563) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1499) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1209) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1615) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1576) at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.javaObjectToByteArray(StorageStreamCommonImpl.java:541) at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.javaPropertyToByteArray(StorageStreamCommonImpl.java:573) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addJavaObject(DirectStreamEncoder.java:1351) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addProperty(DirectStreamEncoder.java:1138) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addPage(DirectStreamEncoder.java:667) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addProperty(DirectStreamEncoder.java:991) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addPage(DirectStreamEncoder.java:667) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addProperty(DirectStreamEncoder.java:991) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addPage(DirectStreamEncoder.java:667) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addProperty(DirectStreamEncoder.java:991) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder$PageSection.addPage(DirectStreamEncoder.java:667) at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder.encode(DirectStreamEncoder.java:278) at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.encode(StorageStreamCommonImpl.java:840) at com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.getStreamForm(ClipboardPageImpl.java:3831) at com.pega.pegarules.data.internal.access.PageDatabaseMapperImpl.getStreamFormOfPage(PageDatabaseMapperImpl.java:1446) at com.pega.pegarules.data.internal.access.DatabaseImpl.preprocessInstancesBeforeCriticalCommitSection(DatabaseImpl.java:3113) at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2640) at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2312) at com.pega.pegarules.data.internal.access.DatabaseImpl.commit(DatabaseImpl.java:2047) at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1259) at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1008) at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:901) at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315) at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263) at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225)
***Edited by Moderator Marissa to update General to Product***