Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Log-Usage issue with Large Requestor Name

SA-3251

Summary



After some penetration testing, there were requestors created with long names. Work manager tries to save information about them into Log-Usage. The error customer is receiving is "KeyPropertyTooBig PXINSNAME PegaRULES pr_perf_stats 128 135". Error shows up in the logs every 5 minutes. Error only shows up on the nodes where the requestors were created.

Error Messages



2014-11-05 00:06:10,066 | ERROR | java.lang.ThreadGroup[name=PRPCWorkManager_WM: PRPCEAR,maxpri=10] | : | internal.access.DatabaseImpl | Msg: A commit cannot be performed because a deferred save of instance LOG-USAGE HD958105FCA5C6A6FCA4025B670581A17%26ECHO%20E203A82EF9%20A753A43A95%26!20141031T155428.824 GMT!B5FF837FE0C1056AED4AA852C8AFFC10!INTERVAL failed
2014-11-05 00:06:10,066 | ERROR | java.lang.ThreadGroup[name=PRPCWorkManager_WM: PRPCEAR,maxpri=10] | : | internal.access.DatabaseImpl | Msg: The deferred save failed with the following exception
com.pega.pegarules.pub.database.BadTableMappingException: Database-BadTableMapping-KeyPropertyTooBig PXINSNAME PegaRULES pr_perf_stats 128 135 HD958105FCA5C6A6FCA4025B670581A17%26ECHO%20E203A82EF9%20A753A43A95%26!20141031T155428.824 GMT!B5FF837FE0C1056AED4AA852C8AFFC10!INTERVAL Log-Usage
From: (B04BA61CDA26F2E3FFEABE3A5F780D167:(Usage Daemon))
at com.pega.pegarules.pub.database.BadTableMappingException.createKeyPropertyTooBigException(BadTableMappingException.java:244)
at com.pega.pegarules.data.internal.access.Saver.makeSureNoCriticalPropertiesAreTooBigForTheirColumns(Saver.java:1764)
at com.pega.pegarules.data.internal.access.Saver.saveDeferred(Saver.java:332)
at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:4996)
at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:4980)
at com.pega.pegarules.monitor.internal.UsageDaemonImpl.processUsageData(UsageDaemonImpl.java:921)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1059)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:771)
at com.pega.pegarules.monitor.internal.UsageDaemonImpl.processData(UsageDaemonImpl.java:735)
at com.pega.pegarules.monitor.internal.UsageDaemonImpl.run(UsageDaemonImpl.java:663)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:198)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:148)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:312)
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:221)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:349)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:390)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingException(PRBootstrap.java:412)
at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168)
at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.invokeEngine(Unknown Source)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest(PRAsync.java:151)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.AsyncTask.run(AsyncTask.java:64)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.RunnableWrapper.run(RunnableWrapper.java:71)
at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:768)
at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:159)
at java.lang.Thread.run(Thread.java:738)
2014-11-05 00:06:10,066 | ERROR | java.lang.ThreadGroup[name=PRPCWorkManager_WM: PRPCEAR,maxpri=10] | : | monitor.internal.UsageDaemonImpl | Msg: Unable to save usage data to the database; verify that the table for Log-Usage has the correct schema
2014-11-05 00:06:10,066 | ERROR | java.lang.ThreadGroup[name=PRPCWorkManager_WM: PRPCEAR,maxpri=10] | : | monitor.internal.UsageDaemonImpl | Msg: Error occurred while attempting to commit
2014-11-05 00:06:10,066 | ERROR | java.lang.ThreadGroup[name=PRPCWorkManager_WM: PRPCEAR,maxpri=10] | : | monitor.internal.UsageDaemonImpl | Msg: Usage Failure Reason 1: Database-General A commit cannot be performed because a deferred save of instance LOG-USAGE HD958105FCA5C6A6FCA4025B670581A17%26ECHO%20E203A82EF9%20A753A43A95%26!20141031T155428.824 GMT!B5FF837FE0C1056AED4AA852C8AFFC10!INTERVAL failed
2014-11-05 00:06:10,066 | ERROR | java.lang.ThreadGroup[name=PRPCWorkManager_WM: PRPCEAR,maxpri=10] | : | monitor.internal.UsageDaemonImpl | Msg: Usage data discarded


Steps to Reproduce



Create requestor with name greater than 128 characters.


Root Cause



The column size was changed from 128 to 256.  However, a restart of the instance to pick up the change was not performed.


Resolution



This issue is resolved through the following local change: Restarted the production node.

Published January 31, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us