We see a lot of similar exceptions after migrating from custom Docker images to Pega-supplied Docker images and Helm-Charts on Pega 8.8.4.
Thes exceptions do occur in irregular intervals, and it is always a group of the following messages:
Cannot create format " datetime_long", default format is used
Cannot create format " datetime_4yshort", default format is used
Cannot create format " datetime_2yshort", default format is used
Cannot create format " datetime_short", default format is used
Cannot create format " datetime_medium", default format is used
Cannot create format " datetime_full", default format is used
Cannot create format " datetime_default", default format is used
All exceptions are of type “com.pega.pegarules.pub.util.PRDateFormat”.
This might have to do with localization, but I am not sure what is causing it.
I am posting an exemplary stack trace below:
java.lang.IllegalArgumentException: Illegal pattern character 't'
at java.base/java.text.SimpleDateFormat.compile(SimpleDateFormat.java:845)
at java.base/java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:653)
at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:624)
at com.pega.ibm.icu.impl.pega.LocaleElements.getSimpleDateFormat(LocaleElements.java:1382)
at com.pega.ibm.icu.impl.pega.LocaleElements.getSimpleDateFormat(LocaleElements.java:1375)
at com.pega.ibm.icu.text.DateFormat.getDateTimeInstance(DateFormat.java:712)
at com.pega.pegarules.pub.util.PRDateFormat.create4yShortFormat(PRDateFormat.java:2013)
at com.pega.pegarules.pub.util.PRDateFormat.createRealFormat(PRDateFormat.java:1947)
at jdk.internal.reflect.GeneratedMethodAccessor164.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.pega.pegarules.pub.util.PerThreadCache$1.get(PerThreadCache.java:318)
at com.pega.pegarules.pub.util.PerThreadCache.getFormat(PerThreadCache.java:225)
at com.pega.pegarules.pub.util.PRDateFormat.getFormatPattern(PRDateFormat.java:2246)
at com.pegarules.generated.html.ra_stream_pzclientlocaledata_1d20265839fc9464a65d8a49f35eb08e.performStream_3(ra_stream_pzclientlocaledata_1d20265839fc9464a65d8a49f35eb08e.java:1536)
at com.pegarules.generated.html.ra_stream_pzclientlocaledata_1d20265839fc9464a65d8a49f35eb08e.execute(ra_stream_pzclientlocaledata_1d20265839fc9464a65d8a49f35eb08e.java:117)
at com.pega.pegarules.session.internal.mgmt.Executable.getStream(Executable.java:4380)
at com.pega.pegarules.session.internal.mgmt.Executable.getStream(Executable.java:4201)
at com.pegarules.generated.pzStreamToJSStaticContent_080101__1719137250744297313.pzStreamToJSStaticContent08_01_01(pzStreamToJSStaticContent_080101__1719137250744297313.java:125)
at com.pegarules.generated.pzStreamToJSStaticContent_080101__1719137250744297313.invoke(pzStreamToJSStaticContent_080101__1719137250744297313.java:78)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.java:238)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:125)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeLibraryRuntime(Executable.java:9821)
at com.pega.pegarules.priv.generator.LibrarySupport.resolveAndInvokeFunctionViaReflectionWithException(LibrarySupport.java:277)
at com.pegarules.generated.html_fragment.ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.performStream_10(ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.java:9221)
at com.pegarules.generated.html_fragment.ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.include_10(ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.java:9283)
at com.pegarules.generated.html_fragment.ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.onlyOnce_2(ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.java:9310)
at com.pegarules.generated.html_fragment.ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.performStream_12(ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.java:9375)
at com.pegarules.generated.html_fragment.ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.include_12(ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.java:9427)
at com.pegarules.generated.html_fragment.ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.performStream_22(ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.java:9929)
at com.pegarules.generated.html_fragment.ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.execute(ra_stream_workformstandard_2c3570eb0090d947d9f489791db6e831.java:119)
at com.pega.pegarules.session.internal.mgmt.StreamBuilderTools.appendStreamKeepProperties(StreamBuilderTools.java:790)
at com.pega.pegarules.session.internal.mgmt.autostreams.IncludeStreamRuntime.getStream(IncludeStreamRuntime.java:339)
at com.pega.pegarules.session.internal.mgmt.autostreams.IncludeStreamRuntime.emitIncludeStreamReference(IncludeStreamRuntime.java:255)
at com.pega.pegarules.session.internal.mgmt.autostreams.AutoStreamRuntimeImpl.emitIncludeStreamReference(AutoStreamRuntimeImpl.java:438)
at com.pegarules.generated.html_harness.ra_stream_pzlpintegrationconnectors_d5bb7a4ea57c5bca62a36eb06d89b5b7.buildHarnessMarkup_1(ra_stream_pzlpintegrationconnectors_d5bb7a4ea57c5bca62a36eb06d89b5b7.java:4291)
at com.pegarules.generated.html_harness.ra_stream_pzlpintegrationconnectors_d5bb7a4ea57c5bca62a36eb06d89b5b7.performStream_17(ra_stream_pzlpintegrationconnectors_d5bb7a4ea57c5bca62a36eb06d89b5b7.java:4454)
at com.pegarules.generated.html_harness.ra_stream_pzlpintegrationconnectors_d5bb7a4ea57c5bca62a36eb06d89b5b7.execute(ra_stream_pzlpintegrationconnectors_d5bb7a4ea57c5bca62a36eb06d89b5b7.java:161)
at com.pega.pegarules.session.internal.mgmt.Executable.getStream(Executable.java:4380)
at com.pega.pegarules.session.internal.mgmt.Executable.getStream(Executable.java:4201)
at com.pegarules.generated.activity.ra_action_displayharnesswithclass_bcfa9048b9bfb60f49df540af7f8ad41.step4_circum0(ra_action_displayharnesswithclass_bcfa9048b9bfb60f49df540af7f8ad41.java:542)
at com.pegarules.generated.activity.ra_action_displayharnesswithclass_bcfa9048b9bfb60f49df540af7f8ad41.perform(ra_action_displayharnesswithclass_bcfa9048b9bfb60f49df540af7f8ad41.java:127)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:2873)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:11510)
at com.pegarules.generated.activity.ra_action_pxopenlandingpage_81d896de8bc03da41a8e9336f4b75cb6.step7_circum0(ra_action_pxopenlandingpage_81d896de8bc03da41a8e9336f4b75cb6.java:723)
at com.pegarules.generated.activity.ra_action_pxopenlandingpage_81d896de8bc03da41a8e9336f4b75cb6.perform(ra_action_pxopenlandingpage_81d896de8bc03da41a8e9336f4b75cb6.java:183)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:2873)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:11510)
at com.pegarules.generated.activity.ra_action_douiaction_7cc7fb4d335875d84ba1582af0806fa7.step24_circum0(ra_action_douiaction_7cc7fb4d335875d84ba1582af0806fa7.java:2537)
at com.pegarules.generated.activity.ra_action_douiaction_7cc7fb4d335875d84ba1582af0806fa7.perform(ra_action_douiaction_7cc7fb4d335875d84ba1582af0806fa7.java:467)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:2873)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:653)
at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivitiesAlt(PRThreadImpl.java:522)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.runActivities(HttpAPI.java:4321)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:456)
at jdk.internal.reflect.GeneratedMethodAccessor162.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1392)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1124)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:978)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequest(EngineAPI.java:379)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.invoke(HttpAPI.java:937)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:338)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:282)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:259)
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngineInner(JNDIEnvironment.java:281)
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngine(JNDIEnvironment.java:226)
at com.pega.pegarules.web.impl.WebStandardImpl.invokeEngine(WebStandardImpl.java:853)
at com.pega.pegarules.web.impl.WebStandardImpl.makeEtierRequest(WebStandardImpl.java:813)
at com.pega.pegarules.web.impl.WebStandardImpl.doPostInner(WebStandardImpl.java:435)
at jdk.internal.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:388)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:430)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:225)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:274)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:164)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doGet(WebStandardBoot.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.service(WebStandardBoot.java:191)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1790)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)