APAR status
Closed as program error.
Error description
Importing thousands of Rates into the Rate table and then attempting to edit those Rates via the Rate form in ISC will cause Out of Memory Errors in eWAS and a Java core dump when the <TUAM_HOME>\IBM\tuam\ewas\profiles\AppSrv01\logs\server1 log is reviewed. The number of rates that will cause this error depends on the memory available to ISC. eWAS must be stopped and started after the crash. This is the exact error message in SystemOut.log: java.lang.OutOfMemoryError at java.util.HashMap.addEntry(HashMap.java:992) at java.util.HashMap.put(HashMap.java:510) at com.ibm.psw.wcl.core.skin.StyleDescriptor.setStyleValue(Style Descriptor.java:198) at com.ibm.psw.wcl.core.skin.AStyleInfo.setStyleValue(AStyleInfo.ja va:595) at com.ibm.psw.wcl.core.skin.AStyleInfo.setStyleValue(AStyleInfo.ja va:570) at com.ibm.mdr.DrUtilities.setStyleProperty(DrUtilities.java:2691) at com.ibm.mdr.DrUtilities.getCaptionComponent(DrUtilities.java:280 4) at com.ibm.mdr.wcl.DrStringCreator.create(DrStringCreator.java:386) at com.ibm.mdr.DrCreatorFactory.recurseData(DrCreatorFactory.java:1 47) at com.ibm.mdr.DrContainerCreator.recurseChildren(DrContainerCreato r.java:100) at com.ibm.mdr.wcl.DrRowCreator.create(DrRowCreator.java:216) at com.ibm.mdr.DrCreatorFactory.recurseData(DrCreatorFactory.java:1 47) at com.ibm.mdr.DrContainerCreator.recurseChildren(DrContainerCreato r.java:100) at com.ibm.mdr.wcl.DrTableCreator.create(DrTableCreator.java:640) at com.ibm.mdr.DrCreatorFactory.recurseData(DrCreatorFactory.java:1 47) at com.ibm.mdr.DrContainerCreator.recurseChildren(DrContainerCreato r.java:100) at com.ibm.mdr.wcl.DrDatagroupCreator.create(DrDatagroupCreator.jav a:435) at com.ibm.mdr.DrCreatorFactory.recurseData(DrCreatorFactory.java:1 47) at com.ibm.mdr.DrCreatorFactory.createStateTree(DrCreatorFactory.ja va:81) at com.ibm.mdr.DrStateMgr.createStateTree(DrStateMgr.java:1126) at com.ibm.mdr.DrStateMgr.invoke(DrStateMgr.java:2770) at com.ibm.mdr.DrRendererManager.invoke(DrRendererManager.java:395) at com.ibm.mdr.DrRenderer.invoke(DrRenderer.java:1363) at com.ibm.ui.framework.UserTaskManager.invoke(UserTaskManager.java :1408) at com.ibm.ui.framework.UserTaskManager.invoke(UserTaskManager.java :1369) at com.ibm.tivoli.tuam.console.launch.RateLauncher.render(RateLaunc her.java:159) at com.ibm.mdr.DrPortletTransactionManager$1.run(DrPortletTransacti onManager.java:237)
Local fix
Since that large number of rates were imported from an external source via TUAM Table Manager and maintained outside TUAM, the user could continue to only maintain those rates outside TUAM and re-import them when a change is made. Never needing to use the TUAM Rate Maintenance form in ISC. An Interim Fix will also be created for TUAM 7.1.1 (not TUAM 7.1) and will be available via Fix Central.
Problem summary
Importing thousands of Rates into the Rate table and then attempting to edit those Rates via the Rate form in ISC will cause Out of Memory Errors in eWAS and a Java core dump when the <TUAM_HOME>\IBM\tuam\ewas\profiles\AppSrv01\logs\server1 log is reviewed. The number of rates that will cause this error depends on the memory available to ISC.
Problem conclusion
The AUIML toolkit is used to generate the ITUAM user interface. One component (Table) of the toolkit displays the content of the rate (CIMSRate) database table. This component by default loads every single record in memory before displaying a subset (A page ) of these records. This behaviour is fine if the table only contains a couple of hundreds records, but it becomes a problem when the rate table grows beyond that to the point of making the server unresponsive. To fix this, the component can be tuned by using the "large table" attribute. This way, only the records to be displayed in the page will be loaded in memory. However, a consequence of using this attribute is that all the filtering and sorting provided automatically by auiml when not using the attribute have to be implemented in the bean by the developer. As a result, a lot of code was added to the bean. Among methods that had to be implemented or modified are: - setRatesRowsToBeRetrieved - setRatesSortCriteria - setRatesFilterCriteria - getRatesFilteredRowCount - getRatesRowAt - loadRates
Temporary fix
An Interim Fix is being created that will also resolve the problem. This fix will only be available to the TUAM 7.1.1 release, not TUAM 7.1. The maintenance package is labelled 7.1.1-TIV-TUAM-IF00006 and may be downloaded via Fix Central from the following location: http://www-933.ibm.com/eserver/support/fixes/
Comments
APAR Information
APAR number
IZ32914
Reported component name
TIV USAGE & ACT
Reported component ID
5724O3300
Reported release
710
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-09-19
Closed date
2008-10-22
Last modified date
2008-10-22
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
TIV USAGE & ACT
Fixed component ID
5724O3300
Applicable component levels
R711 PSY
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSNHG7","label":"Tivoli Usage and Accounting Manager"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"710","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
22 October 2008