Support Article
Read-only data page with post load processing activity fails
SA-69116
Summary
Read-only data page with post load processing activity fails post updating to Pega 7.4.
Error Messages
pega.pegarules.pub.clipboard.ReadOnlyException: The page or property (unspecified) is read-only, and cannot be modified. Calling method: (unspecified) Details: (none) at pega.platform.clipboard.property.feature.scalar.internal.ScalarReadOnlyFeature.setValue(ScalarReadOnlyFeature.java:36) ~[clipboard.jar:?] at pega.platform.clipboard.property.feature.scalar.internal.AbstractScalarFeature.setValue(AbstractScalarFeature.java:42) ~[clipboard.jar:?] at pega.platform.clipboard.property.internal.ScalarImpl.setValue(ScalarImpl.java:60) ~[clipboard.jar:?] at pega.platform.clipboard.adapters.internal.LegacyPropertyAdapter.setValue(LegacyPropertyAdapter.java:526) ~[clipboard.jar:?] at pega.platform.clipboard.adapters.internal.LegacyPropertyAdapter.setValue(LegacyPropertyAdapter.java:502) ~[clipboard.jar:?] at pega.platform.clipboard.adapters.internal.LegacyPropertyAdapter.setValueFromLocalizedString(LegacyPropertyAdapter.java:2652) ~[clipboard.jar:?] at pega.pegarules.session.internal.engineinterface.input.HandleInput.setAndCheckPropertyValue(HandleInput.java:863) ~[prprivate.jar:?] at pega.pegarules.session.internal.engineinterface.input.HandleInput.handleMapping(HandleInput.java:456) ~[prprivate.jar:?] at pega.pegarules.session.internal.engineinterface.input.HandleInput.inputProcessing(HandleInput.java:372) ~[prprivate.jar:?] at pega.pegarules.session.internal.engineinterface.service.HttpAPI.mapInputData(HttpAPI.java:2849) ~[prprivate.jar:?] at pega.pegarules.session.external.engineinterface.service.EngineAPI.activityExecutionProlog(EngineAPI.java:580) ~[prenginext.jar:?] at pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:415) ~[prenginext.jar:?] at sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) ~[?] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat7-websocket.jar] at catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) ~[catalina.jar] at catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) ~[catalina.jar]
catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) ~[catalina.jar] at org. catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) ~[catalina.jar] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) ~[catalina.jar] at coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) ~[tomcat-coyote.jar] at coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) ~[tomcat-coyote.jar] at AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2486) ~[tomcat-coyote.jar] at concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-coyote.jar] at java.lang.Thread.run(Thread.java:748)
Steps to Reproduce
- Update Pega 7.2 to Pega 7.4
- Execute the data page with the post load activity
Root Cause
Issue in the way redux is designed. When a data page source is configured as a report definition, the resultant page is a flat data provider in the redux design. However, the pyRowSelected setting is allowed, even if the data page is read-only. During the post load activity, when a page or a page list is added to the data page, the structure of the data page does not remain flat. The structure of the data provider changes to a hybrid structure and the entire property becomes read-only. Hence, setting pyRowSelected to the data page is not allowed.
Resolution
Apply HFix-49043.
Published August 15, 2019 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.