found the error "Cannot create format "datetime_4yshort", default format is used in the logs

Hi All,

We have found the below error message in the logs

Cannot create format "	datetime_4yshort", default format is used

but we have not used this format in my application, but we couldnt find from where this error is getting thrown.

Is there way to check or how to resolve this error if anybody came across this issue.

Thank you.

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)

@MalteR Yes, we have faced the same issue in our lower environment, This issue is because of localization applied on operator level.

Initially we had updated en_EN as localization which is invalid value passed and thats where we see this exception at PEGA and PDC as well

Later we updated operator level localization with en_GB and verified this exception no more occurring.

Just wanted to confirm that indeed a wrong locale override on DATA-ADMIN-OPERATOR-ID records was the cause of the exception.

Someone had set it to en_EN - which is not a valid locale. Setting that value to en_US or en_GB fixes it.